book
  • README
  • cheatsheet
    • bash
      • builtin
      • syntactic sugar
      • cmd
      • havefun
    • text-processing
      • awk
      • sed
      • html
      • json
      • regex
      • unicode
    • osx
    • curl
    • tricky
    • widget
    • proxy
    • colors
    • math
    • media
    • ssl
      • keystore
      • verification
      • server
      • client
      • tricky
    • windows
      • powershell
      • choco
      • wsl
      • wt
      • shortcut
      • clsid
      • env
      • shell:folder
  • vim
    • nvim
    • install
    • color
    • plugins
      • usage
      • other plugins
      • deprecated
    • tricky
    • viml
    • windows
    • troubleshooting
  • devops
    • admin tools
    • ssh
    • git
      • config
      • alias
      • submodule
      • eol
      • example
      • gerrit
        • gerrit API
      • github
      • troubleshooting
      • tricky
      • statistics
    • pre-commit
    • release-tools
    • tmux
      • cheatsheet
    • ansible
    • vault
    • artifactory
      • api
      • cli
      • aql
      • nginx cert
    • klocwork
      • kwadmin
      • kwserver
      • api
      • q&a
    • elk
    • mongodb
    • android
    • mobile
  • jenkins
    • config
      • windows
    • appearance
    • troubleshooting
    • jenkinsfile
      • utility
      • parallel
      • build
      • envvar
      • properties
      • trigger
      • node
    • script
      • job
      • build
      • stage
      • agent
      • security & authorization
      • exception
      • monitor
      • tricky
    • api
      • blueocean
    • cli
    • plugins
      • kubernetes
      • docker
      • shared-libs
      • lockable-resource
      • ansicolor
      • badge
      • groovy-postbuild
      • simple-theme
      • customizable-header
      • artifactory
      • jira-steps
      • job-dsl
      • build-timeline
      • crumbIssuer
      • coverage
      • uno-choice
      • tricky
  • virtualization
    • kubernetes
      • init
        • kubespray
        • kubeadm
          • environment
          • crio v1.30.4
          • docker v1.15.3
          • HA
        • addons
        • etcd
      • kubectl
        • pod
        • deploy
        • replicasets
        • namespace
        • secrets
      • node
      • certificates
      • events
      • kubeconfig
      • kubelet
      • troubleshooting
      • cheatsheet
      • auth
      • api
      • tools
        • monitor
        • helm
        • network
        • minikube
    • docker
      • run & exec
      • voume
      • remove
      • show info
      • dockerfile
      • dockerd
      • tricky
      • troubleshooting
      • windows
    • crio
    • podman
  • ai
    • prompt
  • osx
    • apps
      • init
      • brew
    • defaults
    • system
    • network
    • script
    • tricky
  • linux
    • devenv
    • util
      • time & date
      • output formatting
      • params
      • tricky
    • nutshell
    • disk
    • network
    • troubleshooting
    • system
      • apt/yum/snap
      • authorization
      • apps
      • x11
    • ubuntu
      • systemctl
      • x
    • rpi
  • programming
    • groovy
    • python
      • config
      • basic
      • list
      • pip
      • q&a
    • others
    • archive
      • angular
      • maven
      • mysql
        • installation
        • logs
      • ruby
        • rubyInstallationQ&A
  • tools
    • fonts
    • html & css
    • Jira & Confluence
    • node & npm
      • gitbook
      • hexo
      • github.page
      • code themes
    • app
      • microsoft office
      • vscode
      • virtualbox
      • iterm2
      • browser
      • skype
      • teamviewer
      • others
  • quotes
  • english
Powered by GitBook
On this page
  • get screen solution
  • screen sharing
  • setup screen sharing
  • start x server
  • backup and restore config
  • reset vnc password
  • check using wayland or xorg
  • start application remotely
  • gdm
  • gnome-shell
  • autologin
  • login session
  • default session
  • process and subprocesses
  • ps
  • Wayland
  • wayland known error

Was this helpful?

  1. linux
  2. ubuntu

x

PrevioussystemctlNextrpi

Last updated 1 year ago

Was this helpful?

[!NOTE|label:references:]

get screen solution

$ xrandr --verbose
Screen 0: minimum 320 x 200, current 1920 x 1080, maximum 8192 x 8192
XWAYLAND0 connected 1920x1080+0+0 (0x22) normal (normal left inverted right x axis y axis) 480mm x 270mm
    Identifier: 0x21
    Timestamp:  3807
    Subpixel:   unknown
    Gamma:      1.0:1.0:1.0
    Brightness: 0.0
    Clones:
    CRTC:       0
    CRTCs:      0
    Transform:  1.000000 0.000000 0.000000
                0.000000 1.000000 0.000000
                0.000000 0.000000 1.000000
               filter:
  1920x1080 (0x22) 173.000MHz -HSync +VSync *current +preferred
        h: width  1920 start 2048 end 2248 total 2576 skew    0 clock  67.16KHz
        v: height 1080 start 1083 end 1088 total 1120           clock  59.96Hz

screen sharing

setup screen sharing

#!/usr/bin/env bash
export DISPLAY=:0
read -e -p "VNC Password: " -i "ubuntu" password
dconf write /org/gnome/desktop/remote-access/enabled true
dconf write /org/gnome/desktop/remote-access/prompt-enabled false
dconf write /org/gnome/desktop/remote-access/authentication-methods "['vnc']"
dconf write /org/gnome/desktop/remote-access/require-encryption false08/03/2018
dconf write /org/gnome/desktop/remote-access/vnc-password \"\'$(echo -n $password | base64)\'\"
dconf dump /org/gnome/desktop/remote-access/
## sudo service lightdm restart
  • or

    $ read -e -p "VNC Password: " -i "ubuntu" VNCPASSWORD
    $ dconf write /org/gnome/desktop/remote-access/enabled true
    $ dconf write /org/gnome/desktop/remote-access/authentication-methods "['vnc']"
    $ dconf write /org/gnome/desktop/remote-access/prompt-enabled false
    $ dconf write /org/gnome/desktop/remote-access/require-encryption false
    $ dconf write /org/gnome/desktop/remote-access/vnc-password \"\'$(echo -n $VNCPASSWORD | base64)\'\"
    $ sudo service lightdm restart
  • or

    $ vino-preference
    $ dconf-editor

start x server

$ export DISPLAY=:0
$ /usr/lib/vino/vino-server --display=:0 &

backup and restore config

$ dconf dump /org/gnome/desktop/remote-access/ > ubuntu1804_remoteaccess
$ cat ubuntu1804_remoteaccess
[/]
require-encryption=false
vnc-password='bWFyc2xv'
authentication-methods=['vnc']
prompt-enabled=false
$ dconf load /org/gnome/desktop/remote-access/ < ubuntu1804_remoteaccess

read all conf

$ for i in $(gsettings list-keys org.gnome.Vino); do
  echo -e "$i:\t --> "$(dconf read /org/gnome/desktop/remote-access/$i);
done
notify-on-connect:   -->
alternative-port:    -->
disable-background:  -->
use-alternative-port:    -->
icon-visibility:     -->
use-upnp:    -->
view-only:   -->
prompt-enabled:  --> false
disable-xdamage:     -->
authentication-methods:  --> ['vnc']
network-interface:   -->
require-encryption:  --> false
mailto:  -->
lock-screen-on-disconnect:   -->
vnc-password:    --> 'bWFyc2xv'
$ echo -n 'awesome' | base64
$ gconftool-2 -s -t string /desktop/gnome/remote_access/vnc_password $(echo -n "<YOURPASSWORD>" | base64)
$ gconftool-2 --type string --set /desktop/gnome/remote_acess/vnc_password '123456'
  • or

    $ echo -n "marslo" | base64
    bWFyc2xv

check using wayland or xorg

$ echo $XDG_SESSION_TYPE
  • Ubuntu: Wayland (Wayland)

  • Ubuntu on Xorg: Xorg (X11)

start application remotely

$ export DISPLAY=:0
$ gnome-terminal
$ cat /lib/systemd/system/gdm.service
[Unit]
Description=GNOME Display Manager

## replaces the getty
Conflicts=getty@tty1.service
After=getty@tty1.service

## replaces plymouth-quit since it quits plymouth on its own
Conflicts=plymouth-quit.service
After=plymouth-quit.service

## Needs all the dependencies of the services it's replacing
## pulled from getty@.service and plymouth-quit.service
## (except for plymouth-quit-wait.service since it waits until
## plymouth is quit, which we do)
After=rc-local.service plymouth-start.service systemd-user-sessions.service

## GDM takes responsibility for stopping plymouth, so if it fails
## for any reason, make sure plymouth still stops
OnFailure=plymouth-quit.service

[Service]
ExecStartPre=/usr/share/gdm/generate-config
ExecStart=/usr/sbin/gdm3
KillMode=mixed
Restart=always
RestartSec=1s
IgnoreSIGPIPE=no
BusName=org.gnome.DisplayManager
StandardOutput=syslog
StandardError=inherit
EnvironmentFile=-/etc/default/locale
ExecReload=/usr/share/gdm/generate-config
ExecReload=/bin/kill -SIGHUP $MAINPID
  • login with desired session

    $ cat /var/lib/AccountsService/users/devops
    [User]
    FormatsLocale=en_US.UTF-8
    XSession=gnome-xorg
    SystemAccount=false
    
    [InputSource0]
    xkb=us
  • auto login with gdm

    $ grep -i auto /etc/gdm3/custom.conf
    [daemon]
    ## Enabling automatic login
    AutomaticLoginEnable = true
    AutomaticLogin = devops
  • auto login with delay

    $ grep -i time /etc/gdm3/custom.conf
    [daemon]
    ## Enabling timed login
    ##  TimedLoginEnable = true
    ##  TimedLogin = user1
    ##  TimedLoginDelay = 10

login session

default session

$ cat /etc/X11/default-display-manager
/usr/sbin/gdm3

process and subprocesses

pstree

$ pstree 1391
gdm3─┬─gdm-session-wor─┬─gdm-x-session─┬─Xorg───{Xorg}
     │                 │               ├─gnome-session-b─┬─deja-dup-monito───4*[{deja-dup-monito}]
     │                 │               │                 ├─gnome-software───3*[{gnome-software}]
     │                 │               │                 ├─gsd-a11y-settin───3*[{gsd-a11y-settin}]
     │                 │               │                 ├─gsd-clipboard───2*[{gsd-clipboard}]
     │                 │               │                 ├─gsd-color───3*[{gsd-color}]
     │                 │               │                 ├─gsd-datetime───3*[{gsd-datetime}]
     │                 │               │                 ├─gsd-disk-utilit───2*[{gsd-disk-utilit}]
     │                 │               │                 ├─gsd-housekeepin───3*[{gsd-housekeepin}]
     │                 │               │                 ├─gsd-keyboard───3*[{gsd-keyboard}]
     │                 │               │                 ├─gsd-media-keys───3*[{gsd-media-keys}]
     │                 │               │                 ├─gsd-mouse───3*[{gsd-mouse}]
     │                 │               │                 ├─gsd-power───3*[{gsd-power}]
     │                 │               │                 ├─gsd-print-notif───2*[{gsd-print-notif}]
     │                 │               │                 ├─gsd-rfkill───2*[{gsd-rfkill}]
     │                 │               │                 ├─gsd-screensaver───2*[{gsd-screensaver}]
     │                 │               │                 ├─gsd-sharing───3*[{gsd-sharing}]
     │                 │               │                 ├─gsd-smartcard───4*[{gsd-smartcard}]
     │                 │               │                 ├─gsd-sound───3*[{gsd-sound}]
     │                 │               │                 ├─gsd-wacom───2*[{gsd-wacom}]
     │                 │               │                 ├─gsd-xsettings───3*[{gsd-xsettings}]
     │                 │               │                 ├─nautilus-deskto───3*[{nautilus-deskto}]
     │                 │               │                 ├─ssh-agent
     │                 │               │                 ├─update-notifier───3*[{update-notifier}]
     │                 │               │                 └─3*[{gnome-session-b}]
     │                 │               └─2*[{gdm-x-session}]
     │                 └─2*[{gdm-session-wor}]
     └─2*[{gdm3}]

ps

$ ps auxwwf
/usr/sbin/gdm3
 \_ gdm-session-worker [pam/gdm-autologin]
     \_ /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
         \_ /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
         \_ /usr/lib/gnome-session/gnome-session-binary --session=ubuntu
             \_ /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
             \_ /usr/lib/gnome-settings-daemon/gsd-power
             \_ /usr/lib/gnome-settings-daemon/gsd-print-notifications
             \_ /usr/lib/gnome-settings-daemon/gsd-rfkill
             \_ /usr/lib/gnome-settings-daemon/gsd-screensaver-proxy
             \_ /usr/lib/gnome-settings-daemon/gsd-sharing
             \_ /usr/lib/gnome-settings-daemon/gsd-smartcard
             \_ /usr/lib/gnome-settings-daemon/gsd-sound
             \_ /usr/lib/gnome-settings-daemon/gsd-xsettings
             \_ /usr/lib/gnome-settings-daemon/gsd-wacom
             \_ /usr/lib/gnome-settings-daemon/gsd-clipboard
             \_ /usr/lib/gnome-settings-daemon/gsd-a11y-settings
             \_ /usr/lib/gnome-settings-daemon/gsd-datetime
             \_ /usr/lib/gnome-settings-daemon/gsd-color
             \_ /usr/lib/gnome-settings-daemon/gsd-keyboard
             \_ /usr/lib/gnome-settings-daemon/gsd-housekeeping
             \_ /usr/lib/gnome-settings-daemon/gsd-mouse
             \_ /usr/lib/gnome-settings-daemon/gsd-media-keys
             \_ /usr/lib/gnome-disk-utility/gsd-disk-utility-notify
             \_ /usr/bin/gnome-software --gapplication-service
             \_ nautilus-desktop
             \_ update-notifier
             \_ /usr/lib/deja-dup/deja-dup-monitor
$ ps auxwwf
root      1391  0.0  0.1 308176  8340 ?        Ssl  16:58   0:00 /usr/sbin/gdm3
root      1456  0.0  0.1 271860  8720 ?        Sl   16:58   0:00  \_ gdm-session-worker [pam/gdm-autologin]
devops    1497  0.0  0.0 212124  6000 tty1     Ssl+ 16:58   0:00      \_ /usr/lib/gdm3/gdm-x-session --run-script env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
devops    1499  0.4  1.0 370392 81984 tty1     Sl+  16:58   0:02          \_ /usr/lib/xorg/Xorg vt1 -displayfd 3 -auth /run/user/1000/gdm/Xauthority -background none -noreset -keeptty -verbose 3
devops    1518  0.0  0.1 716920 15716 tty1     Sl+  16:58   0:00          \_ /usr/lib/gnome-session/gnome-session-binary --session=ubuntu
devops    1599  0.0  0.0  11304   320 ?        Ss   16:58   0:00              \_ /usr/bin/ssh-agent /usr/bin/im-launch env GNOME_SHELL_SESSION_MODE=ubuntu gnome-session --session=ubuntu
devops    2471  0.0  0.2 527336 23468 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-power
devops    2472  0.0  0.1 349316 10144 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-print-notifications
devops    2475  0.0  0.0 423340  5728 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-rfkill
devops    2481  0.0  0.0 275728  5048 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-screensaver-proxy
devops    2485  0.0  0.1 471340 11980 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-sharing
devops    2493  0.0  0.1 466472 10096 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-smartcard
devops    2495  0.0  0.1 343116  9808 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-sound
devops    2499  0.0  0.2 504824 23460 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-xsettings
devops    2511  0.0  0.2 440656 22568 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-wacom
devops    2530  0.0  0.2 355824 21572 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-clipboard
devops    2531  0.0  0.1 296660  8348 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-a11y-settings
devops    2532  0.0  0.1 476600 15176 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-datetime
devops    2536  0.0  0.3 678216 24396 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-color
devops    2537  0.0  0.2 508124 22096 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-keyboard
devops    2539  0.0  0.1 374712  8804 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-housekeeping
devops    2542  0.0  0.1 296672  8284 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-mouse
devops    2545  0.0  0.3 1155368 24656 tty1    Sl+  16:58   0:00              \_ /usr/lib/gnome-settings-daemon/gsd-media-keys
devops    2589  0.0  0.0 271928  6216 tty1     Sl+  16:58   0:00              \_ /usr/lib/gnome-disk-utility/gsd-disk-utility-notify
devops    2590  0.4  1.8 1318392 152212 tty1   SLl+ 16:58   0:02              \_ /usr/bin/gnome-software --gapplication-service
devops    2599  0.2  0.9 1197708 75864 tty1    Sl+  16:58   0:01              \_ nautilus-desktop
devops    3686  0.0  0.3 605436 28680 tty1     Sl+  16:59   0:00              \_ update-notifier
devops    4017  0.0  0.4 118225468 32448 tty1  Sl+  17:00   0:00              \_ /usr/lib/deja-dup/deja-dup-monitor
$ echo $WAYLAND_DISPLAY
wayland-0
cat <<EOF | sudo tee /etc/xdg/autostart/xhost.desktop
[Desktop Entry]
Name=xhost
Comment=Fix graphical root applications
Exec="xhost +si:localuser:root"
Terminal=false
Type=Application
EOF

desktop styles

GDM Reference Manual
GNOME
How to configure Vino for remote desktop access using command line
Vino
Vino. The Remote Desktop Project
VND/Servers
reset vnc password
gdm
gnome-shell
autologin
Wayland
wayland known error
get screen solution
screen sharing
setup screen sharing
start x server
backup and restore config
read all conf
reset vnc password
check using wayland or xorg
start application remotely
gdm
gnome-shell
autologin
login session
default session
process and subprocesses
pstree
ps
Wayland
wayland known error