Using the desktop environment in RHEL 8
Using the desktop environment in RHEL 8 Red Hat Enterprise Linux 8 Configuring and customizing the GNOME 3 desktop environment on RHEL 8 Red Hat Customer Content Services
yum install dconf-editor gsettings set org.gnome.desktop.interface enable-hot-corners false gsettings get org.gnome.desktop.interface enable-hot-corners false yum install gnome-shell-extension-no-hot-corner ~]USD systemctl --user status pipewire "hasOverview": false "hasOverview": true yum install gnome-remote-desktop firewall-cmd --permanent --add-service=vnc-server success firewall-cmd --reload success yum install vinagre gsettings set org.gnome.desktop.remote-desktop.vnc encryption "['none']" ssh -N -T -L 5901: server-ip-address :5901 user@server-ip-address yum install tigervnc-server yum install tigervnc option1 = value option2 session=gnome alwaysshared securitytypes=vncauth,tlsvnc desktop=sandbox geometry=2000x1200 : number = user :2=test :3=vncuser rm /etc/systemd/system/vncserver@.service : user-number = user-name :2=vncuser firewall-cmd --permanent --add-service=vnc-server firewall-cmd --reload session=gnome alwaysshared [regular-user]USD vncpasswd [regular-user]USD restorecon -RFv ~/.vnc systemctl enable --now vncserver@: user-number vncviewer --shared server-ip : display yum install xorg-x11-xauth xorg-x11-fonts-\* xorg-x11-utils dbus-x11 X11Forwarding yes systemctl restart sshd.service [local-user]USD ssh -X -Y remote-server The authenticity of host 'remote-server (192.168.122.120)' can't be established. ECDSA key fingerprint is SHA256: uYwFlgtP/2YABMHKv5BtN7nHK9SHRL4hdYxAPJVK/kY . Are you sure you want to continue connecting (yes/no/[fingerprint])? Warning: Permanently added ' remote-server ' (ECDSA) to the list of known hosts. local-user's password: [local-user ~]USD [remote-user]USD application-binary ssh user@server -X -Y -C binary_application domain.name key domain.name : path key /domain/name/key org.gnome.nautilus.preferences default-folder-viewer /org/gnome/nautilus/preferences/default-folder-viewer user-db:user system-db:local system-db:site user-db:user system-db:local [ path/to/schema ] key-name = value another-key-name = another-value [org/gnome/desktop/background] picture-uri='file:///usr/local/share/backgrounds/wallpaper.jpg' 1 picture-options='scaled' 2 primary-color='000000' 3 secondary-color='FFFFFF' 4 dconf update Prevent users from changing values for the following keys: /org/gnome/desktop/background/picture-uri /org/gnome/desktop/background/picture-options /org/gnome/desktop/background/primary-color /org/gnome/desktop/background/secondary-color dconf update yum install glib2-fam service-db:keyfile/user gsettings set SCHEMA[:PATH] KEY VALUE gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']" gsettings monitor SCHEMA[:PATH] [KEY] gsettings monitor org.gnome.shell favorite-apps gsettings set org.gnome.shell favorite-apps "['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop']" favorite-apps: ['firefox.desktop', 'evolution.desktop', 'rhythmbox.desktop'] gsettings writable SCHEMA[:PATH] KEY gsettings writable org.gnome.shell favorite-apps True gsettings range SCHEMA[:PATH] KEY gsettings range org.gnome.shell remember-mount-password type b gsettings describe SCHEMA[:PATH] KEY gsettings describe org.gnome.desktop.screensaver picture-uri URI to use for the background image. Note that the backend only supports local `file://` URIs. gsettings get SCHEMA[:PATH] KEY gsettings get org.gnome.shell remember-mount-password false gsettings reset SCHEMA[:PATH] KEY gsettings reset org.gnome.desktop.screensaver lock-delay gsettings reset-recursively SCHEMA[:PATH] gsettings reset-recursively org.gnome.desktop.screensaver gsettings list-schemas gsettings list-schemas org.gnome.rhythmbox.library org.gnome.shell.overrides org.gnome.system.proxy.https org.gnome.clocks org.gnome.eog.fullscreen org.gnome.login-screen org.gnome.eog.view gsettings list-keys SCHEMA[:PATH] gsettings list-keys org.gnome.shell enabled-extensions command-history remember-mount-password always-show-log-out had-bluetooth-devices-setup looking-glass-history disable-user-extensions app-picker-view disable-extension-version-validation development-tools favorite-apps gsettings list-children SCHEMA[:PATH] gsettings list-children org.gnome.shell keyboard org.gnome.shell.keyboard keybindings org.gnome.shell.keybindings gsettings list-recursively [SCHEMA[:PATH]] gsettings list-recursively org.gnome.nautilus.desktop network-icon-visible false org.gnome.nautilus.desktop font '' org.gnome.nautilus.desktop network-icon-name 'Network Servers' org.gnome.nautilus.desktop home-icon-name 'Home' org.gnome.nautilus.desktop volumes-visible true org.gnome.Vinagre always-enable-listening false org.gnome.Vinagre always-show-tabs false org.gnome.Vinagre show-accels false org.gnome.Vinagre history-size 15 org.gnome.Vinagre shared-flag true media-type/subtype-identifier <?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-newtype"> <comment>new mime type</comment> <glob pattern="*.xyz"/> </mime-type> </mime-info> [Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_code Exec=myapplication1 %F update-mime-database /usr/share/mime update-desktop-database /usr/share/applications touch test.xyz gvfs-info test.xyz | grep "standard::content-type" standard::content-type: application/x-newtype gio mime --query application/x-newtype Default application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop <?xml version="1.0" encoding="UTF-8"?> <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info"> <mime-type type="application/x-newtype"> <comment>new mime type</comment> <glob pattern="*.xyz"/> </mime-type> </mime-info> [Desktop Entry] Type=Application MimeType=application/x-newtype Name=My Application 1 Exec=myapplication1 field_code Exec=myapplication1 %F update-mime-database ~/.local/share/mime update-desktop-database ~/.local/share/applications touch test.xyz gvfs-info test.xyz | grep "standard::content-type" standard::content-type: application/x-newtype gio mime --query application/x-newtype Default application for 'application/x-newtype': myapplication1.desktop Registered applications: myapplication1.desktop Recommended applications: myapplication1.desktop [Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop [Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop gio mime text/html Default application for 'text/html': myapplication1.desktop Registered applications: myapplication1.desktop firefox.desktop Recommended applications: myapplication1.desktop firefox.desktop [Default Applications] text/html=firefox.desktop application/xhtml+xml=firefox.desktop [Default Applications] text/html=myapplication1.desktop application/xhtml+xml=myapplication2.desktop gio mime text/html Default application for 'text/html': myapplication1.desktop Registered applications: myapplication1.desktop firefox.desktop Recommended applications: myapplication1.desktop firefox.desktop [org/gnome/desktop/background] picture-uri=' file:///usr/local/share/backgrounds/wallpaper.jpg ' 1 picture-options=' scaled ' 2 primary-color=' 000000 ' 3 secondary-color=' FFFFFF ' 4 List the keys used to configure the desktop background /org/gnome/desktop/background/picture-uri /org/gnome/desktop/background/picture-options /org/gnome/desktop/background/primary-color /org/gnome/desktop/background/secondary-color dconf update <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> <wallpapers> <wallpaper deleted="false"> <name> Background name </name> <filename> full-path-to-the-image </filename> <options> display-option </options> <shade_type> background-shade </shade_type> <pcolor> primary-color </pcolor> <scolor> secondary-color </scolor> </wallpaper> </wallpapers> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> <wallpapers> <wallpaper deleted="false"> <name>Company Background</name> <name xml:lang="de">Firmenhintergrund</name> <filename>/usr/local/share/backgrounds/company-wallpaper.jpg</filename> <options>zoom</options> <shade_type>solid</shade_type> <pcolor>#ffffff</pcolor> <scolor>#000000</scolor> </wallpaper> </wallpapers> <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd"> <wallpapers> <wallpaper deleted="false"> <name>Company Background</name> <name xml:lang="de">Firmenhintergrund</name> <filename>/usr/local/share/backgrounds/company-wallpaper.jpg</filename> <options>zoom</options> <shade_type>solid</shade_type> <pcolor>#ffffff</pcolor> <scolor>#000000</scolor> </wallpaper> <wallpaper deleted="false"> <name>Company Background 2</name> <name xml:lang="de">Firmenhintergrund 2</name> <filename>/usr/local/share/backgrounds/company-wallpaper-2.jpg</filename> <options>zoom</options> <shade_type>solid</shade_type> <pcolor>#ff0000</pcolor> <scolor>#00ffff</scolor> </wallpaper> </wallpapers> [org/gnome/desktop/screensaver] picture-uri='file:// /opt/corp/background.jpg ' dconf update dconf update systemctl restart gdm.service [org/gnome/login-screen] logo='/path/to/logo.png' dconf update systemctl restart gdm List all extensions that you want to have enabled for all users enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com'] dconf update List all extensions that you want to have enabled for all users enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com'] Lock the list of mandatory extensions /org/gnome/shell/enabled-extensions dconf update List all mandatory extensions enabled-extensions=['myextension1@myname.example.com', 'myextension2@myname.example.com'] Lock the list of mandatory extensions /org/gnome/shell/enabled-extensions dconf update Enable Ctrl-Alt-Backspace for all users xkb-options=['terminate:ctrl_alt_bksp'] Lock the list of enabled XKB options /org/gnome/desktop/input-sources/xkb-options dconf update Disable command-line access disable-command-line=true Lock the disabled command-line access /org/gnome/desktop/lockdown/disable-command-line dconf update Section "Serverflags" Option "DontVTSwitch" "yes" EndSection [Login] HandleLidSwitch=lock systemctl restart systemd-logind.service HandlePowerKey=reboot [org/gnome/settings-daemon/plugins/power] power-button-action=<value> /org/gnome/settings-daemon/plugins/power/power-button-action dconf update bluetoothctl show Powered: no Discoverable: no DiscoverableTimeout: 0x000000b4 Pairable: no power on discoverable on pairable on scan on scan off pair XX:XX:XX:XX:XX:XX trust XX:XX:XX:XX:XX:XX default XX:XX:XX:XX:XX:XX quit devices Device AA:BB:CC:DD:EE:FF Headphones (Connected: yes) Device 11:22:33:44:55:66 Keyboard (Connected: no) info AA:BB:CC:DD:EE:FF <device information> Connected: yes yum install gnome-shell-extension-classification-banner [org/gnome/shell] enabled-extensions=['classification-banner@gnome-shell-extensions.gcampax.github.com'] [org/gnome/shell/extensions/classification-banner] background-color=' rgba(200,16,46,0.75) ' message=' TOP SECRET ' top-banner= true bottom-banner= true system-info= true color=' rgb(255,255,255) ' enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com'] dconf update yum install gnome-shell-extension-heads-up-display [org/gnome/shell] enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com'] [org/gnome/shell/extensions/heads-up-display] message-heading=" Security classification title " message-body=" Security classification description " The following options control when the notification appears: show-when-locked= true show-when-unlocking= true show-when-unlocked= true enabled-extensions=['heads-up-display@gnome-shell-extensions.gcampax.github.com', 'classification-banner@gnome-shell-extensions.gcampax.github.com'] dconf update yum install @input-methods yum install gnome-tweaks xhost + su - <username> -c "gsettings set org.gnome.desktop.input-sources xkb-options \"['compose:<compose_key>']\"" grep compose /usr/share/X11/xkb/rules/evdev.lst xhost - su - <username> -c "gsettings get org.gnome.desktop.input-sources xkb-options" Enable the Compose key xkb-options=['compose: selected-key '] Lock the list of enabled XKB options /org/gnome/desktop/input-sources/xkb-options dconf update ftp://ftp.myserver.net/ ssh://joe@ftp.myserver.net/home/joe/todo.txt gio list file:///tmp gio cat ssh://joe@ftp.myserver.net/home/joe/todo.txt gio copy ssh://joe@ftp.myserver.net/home/joe/todo.txt /tmp/ touch /tmp/myfile gio info -a 'metadata::*' /tmp/myfile uri: file:///tmp/myfile attributes: gio set -t string /tmp/myfile 'metadata::mynote' 'Please remember to delete this file!' gio info -a 'metadata::*' /tmp/myfile uri: file:///tmp/myfile attributes: metadata::mynote: Please remember to delete this file! gio move /tmp/myfile /tmp/newfile gio info -a 'metadata::*' /tmp/newfile uri: file:///tmp/newfile attributes: metadata::mynote: Please remember to delete this file! yum install gvfs-fuse ps ax | grep gvfsd-fuse id -u /usr/libexec/gvfsd-fuse -f /run/user/_UID_/gvfs yum install iotop file:///home/ username /Music file:///home/ username /Pictures file:///home/ username /Videos file:///home/ username /Downloads file:///home/ username /bin file:///usr/share/doc/ ftp://ftp.gnome.org/ dconf read /org/gnome/shell/favorite-apps Snippet sets gedit, terminal and nautilus as default favorites for all users [org/gnome/shell] favorite-apps = ['gedit.desktop', 'gnome-terminal.desktop', 'nautilus.desktop'] Lock default favorite applications /org/gnome/shell/favorite-apps User@example.com realm list yum install dconf-editor [org/gnome/login-screen] enable-password-authentication='false' enable-smartcard-authentication='true' dconf update user-db:user system-db:local Prevent applications from printing disable-printing=true List the keys used to configure lockdown /org/gnome/desktop/lockdown/disable-printing dconf update user-db:user system-db:local Prevent the user from saving files on disk disable-save-to-disk=true Lock this key to disable saving files on disk /org/gnome/desktop/lockdown/disable-save-to-disk dconf update cp /usr/share/polkit-1/actions/org.freedesktop.udisks2.policy /etc/share/polkit-1/actions/org.freedesktop.udisks2.policy <action id="org.freedesktop.udisks2.modify-device"> <message>Authentication is required to modify the disks settings</message> <defaults> <allow_any>no</allow_any> <allow_inactive>no</allow_inactive> <allow_active>yes</allow_active> </defaults> </action> Authentication is required to modify the disks settings. user-db:user system-db:local Prevent the user from user switching disable-log-out=true Lock this key to disable user logout /org/gnome/desktop/lockdown/disable-log-out dconf update user-db:user system-db:local Prevent the user from user switching [org/gnome/desktop/lockdown] disable-user-switching=true [org/gnome/desktop/screensaver] user-switch-enabled=false Lock this key to disable user switching /org/gnome/desktop/lockdown/disable-user-switching /org/gnome/desktop/screensaver/user-switch-enabled dconf update yum install gnome-session-kiosk-session [ user ]USD mkdir -p ~/.local/bin [ user ]USD touch ~/.local/bin/redhat-kiosk #!/bin/sh while true; do firefox --kiosk https://example.org done [ user ]USD chmod +x ~/.local/bin/redhat-kiosk chown -R user : group ~ user /.local systemctl restart gdm.service DCONF_PROFILE=gdm gsettings list-recursively org.gnome.login-screen [Desktop Entry] Type=Application Name= Files Exec= /usr/bin/nautilus -n OnlyShowIn=GNOME; X-GNOME-Autostart-enabled=true AutostartCondition=GSettings org.gnome.desktop.background show-desktop-icons [daemon] AutomaticLoginEnable=True AutomaticLogin= john Set the timeout to 900 seconds when on mains power sleep-inactive-ac-timeout=900 Set action after timeout to be logout when on mains power sleep-inactive-ac-type='logout' Lock automatic logout settings /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-timeout /org/gnome/settings-daemon/plugins/power/sleep-inactive-ac-type dconf update gsettings range org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type enum 'blank' 'suspend' 'shutdown' 'hibernate' 'interactive' 'nothing' 'logout' cp /usr/share/accountsservice/user-templates/standard /etc/accountsservice/user-templates/standard cp /usr/share/accountsservice/user-templates/standard /var/lib/AccountsService/users/ user-name [org/gnome/settings-daemon/plugins/power] idle-dim=true dconf update [org/gnome/settings-daemon/plugins/power] idle-brightness=30 dconf update [org/gnome/desktop/session] idle-delay=uint32 900 dconf update Set the lock time out to 180 seconds before the session is considered idle idle-delay=uint32 180 Set this to true to lock the screen when the screensaver activates lock-enabled=true Set the lock timeout to 180 seconds after the screensaver has been activated lock-delay=uint32 180 Lock desktop screensaver settings /org/gnome/desktop/session/idle-delay /org/gnome/desktop/screensaver/lock-enabled /org/gnome/desktop/screensaver/lock-delay dconf update <?xml version="1.0" encoding="UTF-8"?> <transform> <rotation>left</rotation> <flipped>no</flipped> </transform> yum install brltty yum install brltty-espeak-ng systemctl enable --now brltty systemctl status brltty ● brltty.service - Braille display driver for Linux/Unix Loaded: loaded (/usr/lib/systemd/system/brltty.service; enabled; vendor pres> Active: active (running) since Tue 2019-09-10 14:13:02 CEST; 39s ago Process: 905 ExecStart=/usr/bin/brltty (code=exited, status=0/SUCCESS) Main PID: 914 (brltty) Tasks: 3 (limit: 11360) Memory: 4.6M CGroup: /system.slice/brltty.service └─914 /usr/bin/brltty api-parameters Auth=keyfile:/etc/brlapi.key usermod --append -G brlapi user-name XWindow braille-driver xw journalctl --dmesg | fgrep ttyUSB braille-device serial:ttyS0 braille-device usb: braille-device usb:nnnnn braille-device serial:ttyUSB0 braille-device bluetooth:xx:xx:xx:xx:xx:xx text-table en_US # English (United States) contraction-table en-us-g2 # English (US, grade 2) libwacom-list-local-devices yum install libwacom-data The product is the product name announced by the kernel Product=Intuos 4 WL 6x9 Vendor name of this tablet Vendor=Wacom DeviceMatch includes the bus (usb, serial), the vendor ID and the actual product ID DeviceMatch=usb:056a:00bc Class of the tablet. Valid classes include Intuos3, Intuos4, Graphire, Bamboo, Cintiq Class=Intuos4 Exact model of the tablet, not including the size. Model=Intuos 4 Wireless Width in inches, as advertised by the manufacturer Width=9 Height in inches, as advertised by the manufacturer Height=6 Optional features that this tablet supports Some features are dependent on the actual tool used, e.g. not all styli have an eraser and some styli have additional custom axes (e.g. the airbrush pen). These features describe those available on the tablet. # Features not set in a file default to false/0 This tablet supports styli (and erasers, if present on the actual stylus) Stylus=true This tablet supports touch. Touch=false This tablet has a touch ring (Intuos4 and Cintiq 24HD) Ring=true This tablet has a second touch ring (Cintiq 24HD) Ring2=false This tablet has a vertical/horizontal scroll strip VStrip=false HStrip=false Number of buttons on the tablet Buttons=9 This tablet is built-in (most serial tablets, Cintiqs) BuiltIn=false cp <tablet_definition_file>.tablet /usr/share/libwacom/ ACTION!="add|change", GOTO="libwacom_end" KERNEL!="event[0-9]*", GOTO="libwacom_end" [new tablet match entries go here] LABEL="libwacom_end" /usr/libexec/gsd-list-wacom yum install flatpak flatpak remote-add --if-not-exists rhel https://flatpaks.redhat.io/rhel.flatpakrepo podman login registry.redhat.io Username: your-user-name Password: your-password cp USDXDG_RUNTIME_DIR/containers/auth.json USDHOME/.config/flatpak/oci-auth.json cp USDXDG_RUNTIME_DIR/containers/auth.json /etc/flatpak/oci-auth.json flatpak remotes Name Options rhel system,oci,no-gpg-verify flatpak search application-name flatpak search LibreOffice Application ID Version Branch Remotes Description org.libreoffice.LibreOffice stable rhel The LibreOffice productivity suite flatpak install rhel application-id flatpak install rhel org.libreoffice.LibreOffice flatpak run application-id flatpak run org.libreoffice.LibreOffice flatpak update application-id flatpak update