F40 settings - animeshtrivedi/notes GitHub Wiki

Fedora development notes

fedora-systems-development

EVDI is broken right now on my laptop with secure boot

https://github.com/DisplayLink/evdi/issues/369

atr@cordova:~/src/evdi/module$ sudo /usr/src/kernels/6.10.3-200.fc40.x86_64/scripts/sign-file sha256 /home/atr/display-link-key/3/MOC3.priv /home/atr/display-link-key/3/MOC3.der /lib/modules/6.10.3-200.fc40.x86_64/kernel/drivers/gpu/drm/evdi/evdi.ko 
At main.c:142:
- SSL error:FFFFFFFF80000002:system library::No such file or directory: crypto/bio/bss_file.c:67
- SSL error:10000080:BIO routines::no such file: crypto/bio/bss_file.c:75
sign-file: /home/atr/display-link-key/3/MOC3.priv
atr@cordova:~/src/evdi/module$ 

Solution: disable secure boot.

Checking error messages

journalctl -b -p 3

common options https://www.digitalocean.com/community/tutorials/how-to-use-journalctl-to-view-and-manipulate-systemd-logs:

-b show from the current boot 
--since today
-u UID 
_PID=8088
-p level

levels are:

0: emerg
1: alert
2: crit
3: err
4: warning
5: notice
6: info
7: debug

Getting the Fedora desktop back:

dnf -y install gnome-extensions-app

then (call extensions in super search, or just from the shell gnome-extensions-app)

drawing

What a waste of an effort in the morning! :(

WebEx not working

Install with the dnf package and then missing libraries

sudo dnf install webex 
sudo dnf install xcb-util-wm libxcrypt-compat sqlite-devel 

For further setup, delete content here:

$HOME/.local/share/Webex
$HOME/.local/share/WebexLauncher

Visual studio, new folder in a new window

https://stackoverflow.com/questions/4079278/view-more-than-one-project-solution-in-visual-studio

image

ssh no password and only the ssh key

https://askubuntu.com/questions/346857/how-do-i-force-ssh-to-only-allow-users-with-a-key-to-log-in

# vim /etc/ssh/sshd_config

# To disable tunneled clear text passwords, change to no here!
PasswordAuthentication no
PubkeyAuthentication yes

Fedora package management

https://docs.fedoraproject.org/en-US/quick-docs/dnf/

# dnf search packagename
# dnf install packagename
# dnf remove packagename
# dnf localinstall ./packagename.rpm 
  • autoremove - removes packages installed as dependencies that are no longer required by currently installed programs.
  • check-update - checks for updates, but does not download or install the packages.
  • downgrade - reverts to the previous version of a package.
  • info - provides basic information about the package including name, version, release, and description.
  • reinstall - reinstalls the currently installed package.
  • upgrade - checks the repositories for newer packages and updates them.
  • exclude - exclude a package from the transaction.

Complete command reference: https://dnf.readthedocs.io/en/latest/command_ref.html

UI editing with fedora and keyboard shortcuts setup

Prevent application grouping with the same applications

https://superuser.com/questions/394376/how-to-prevent-gnome-shells-alttab-from-grouping-windows-from-similar-apps

  • Open dconf-editor
  • Go to org/gnome/desktop/wm/keybindings
  • Move the value 'Tab' from switch-applications to switch-windows
  • Optionally move 'Tab' from switch-applications-backward to switch-windows-backward
  • If you want switch-windows to work across desktops, not just in the current desktop, you can also uncheck org/gnome/shell/window-switcher/current-workspace-only (Courtesy of @CharlBotha)
  • Close dconf-editor
  • If using X11, press F2, then type r to restart Gnome.

The last step does not always appear to be necessary, but it should not hurt (especially since it does not close any of your running applications). It will not work, and is not necessary for Wayland.

Enabling terminal as an app for shortcut, ctrl + shift + e

"gnome-terminal" is the name of the application to put.

drawing

Change the focus when a new application is launched

install dconf-editor tool and edit the following property: "org/gnome/desktop/wm/preferences/focus-new-windows"

https://superuser.com/questions/468440/open-application-in-background-without-losing-current-window-focus-fedora-17

drawing

Expand the genome terminal path name

You need to set PS paths, which are not set by default in Fedora (very short .bashrc script).

  1. Copied the Ubuntu default .bashrc script in the home, https://gist.github.com/marioBonales/1637696 (update: the NUC bashrc : https://gist.github.com/animeshtrivedi/34959ec6ba9f60be79eb1d9b2168774d)
  2. Changed the color profile to the following, Back-on-Light-Yellow with Tango scheme image

Default .bashrc

atr:~$ echo $PS0
\e]133;C\e\\\r
atr:~$ echo $PS1
\u:\W\$
atr:~$ echo $PS2
>
atr:~$ echo $PS3

atr:~$ 

Ubuntu,

atr@cordova:~$ echo $PS0

atr@cordova:~$ echo $PS1
\[\e]0;\u@\h: \w\a\]${debian_chroot:+($debian_chroot)}\u@\h:\w\$
atr@cordova:~$ echo $PS2
>
atr@cordova:~$ echo $PS3

atr@cordova:~$ echo $PS4
+

Giving user sudo/sudo management

In fedora this is the wheel group that has the sudo powers (in Ubuntu it is called sudo group) : https://docs.fedoraproject.org/en-US/quick-docs/adding_user_to_sudoers_file/

$ sudo usermod -aG wheel username
$ sudo visudo
...
%wheel ALL=(ALL) ALL
...

Update for no password (there is already a separate line to comment/uncomment this option in the sudo user file):

%wheel ALL=(ALL) NOPASSWD: ALL

Default applications in GUI

They are in settings -> Applications --> Default application

Updating the default editor in Fedora 40

The usual sudo update-alternatives --config editor did not work as it showed no output. With that (1. install a new default editor package, and then remove nano). With that now sudo visudo has the vim as the default editor. I also have $EDITOR set in the .bashrc file. source

atr@cordova:~$ sudo dnf install vim-default-editor --allowerasing
Last metadata expiration check: 0:05:29 ago on Mon 08 Jul 2024 09:08:26 AM CEST.
Dependencies resolved.
========================================================================================================================
 Package                            Architecture          Version                         Repository               Size
========================================================================================================================
Installing:
 vim-default-editor                 noarch                2:9.1.452-1.fc40                updates                  15 k
Removing dependent packages:
 nano-default-editor                noarch                7.2-7.fc40                      @updates                514  

Transaction Summary
========================================================================================================================
Install  1 Package
Remove   1 Package

Total download size: 15 k
Is this ok [y/N]: y
Downloading Packages:
vim-default-editor-9.1.452-1.fc40.noarch.rpm                                            402 kB/s |  15 kB     00:00    
------------------------------------------------------------------------------------------------------------------------
Total                                                                                    21 kB/s |  15 kB     00:00     
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                1/1 
  Installing       : vim-default-editor-2:9.1.452-1.fc40.noarch                                                     1/2 
  Erasing          : nano-default-editor-7.2-7.fc40.noarch                                                          2/2 

Installed:
  vim-default-editor-2:9.1.452-1.fc40.noarch                                                                            
Removed:
  nano-default-editor-7.2-7.fc40.noarch                                                                                 

Complete!
atr@cordova:~$ sudo dnf remove nano 
Dependencies resolved.
==============================================================================================================================================================================================================================================================================================================================
 Package                                                                   Architecture                                                                Version                                                                            Repository                                                                     Size
==============================================================================================================================================================================================================================================================================================================================
Removing:
 nano                                                                      x86_64                                                                      7.2-7.fc40                                                                         @updates                                                                      2.9 M

Transaction Summary
==============================================================================================================================================================================================================================================================================================================================
Remove  1 Package

Freed space: 2.9 M
Is this ok [y/N]: y
Running transaction check
Transaction check succeeded.
Running transaction test
Transaction test succeeded.
Running transaction
  Preparing        :                                                                                                                                                                                                                                                                                                      1/1 
  Erasing          : nano-7.2-7.fc40.x86_64                                                                                                                                                                                                                                                                               1/1 
  Running scriptlet: nano-7.2-7.fc40.x86_64                                                                                                                                                                                                                                                                               1/1 

Removed:
  nano-7.2-7.fc40.x86_64                                                                                                                                                                                                                                                                                                      

Complete!

Compiling displaylink/evdi drivers

This is the recipe for building the DisplayLink driver in a RPM package for Fedora, CentOS Stream, Rocky Linux and AlmaLinux OS. This driver supports the following device families: These instructions work

DisplayLink RPM : https://github.com/displaylink-rpm/displaylink-rpm

Go here, and then download from the releases: https://github.com/displaylink-rpm/displaylink-rpm/releases/tag/v6.0.0

This is the one I use: https://github.com/displaylink-rpm/displaylink-rpm/releases/download/v6.0.0/fedora-40-displaylink-1.14.4-2.github_evdi.x86_64.rpm

(see also the problem above with 6.10 kernel, kernel module signing and secure boot)

Set of shortcuts

  • lunch terminal
  • launch web browser
  • reset terminal
  • workspace shift
  • move windows between workspaces

Install full texlive

with plotting tools

sudo dnf install texlive-scheme-full gnuplot python3-matplotlib

Gnome shell preserve working directory

https://www.reddit.com/r/linuxquestions/comments/112vyqh/gnometerminal_open_new_tab_in_current_directory/

# add this as the last line in the bashrc file 
source /etc/profile.d/vte.sh

Also make sure under preference working directory is preserved: image

⚠️ **GitHub.com Fallback** ⚠️