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

Commands:
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