Получение X-дисплея на Ubuntu 18.04 (работает 14.04)

В Ubuntu 14.04 я запускаю следующую команду, чтобы получить значение сервера DISPLAY для пользователя johndoe

loginctl show-session $(loginctl -a show-user johndoe | grep Display | sed 's/Display.//g') | grep Display

и получить следующий вывод

Display=:0

Это не работает на Ubuntu 18.04, и я ничего не получаю взамен. Это связано с тем, что loginctl show-session $(.....) часть команды не имеет свойства Display. Ниже показан вывод

Id=1 User=1000 Name=johndoe Timestamp=Sun 2018-01-28 08:23:56 PST TimestampMonotonic=10357101 VTNr=1 Seat=seat0 TTY=tty1 Remote=no Service=gdm-autologin Scope=session-1.scope Leader=937 Audit=1 Type=x11 Class=user Active=yes State=active IdleHint=no IdleSinceHint=0 IdleSinceHintMonotonic=0 LockedHint=no

. Как я могу получить значение DISPLAY?

UPDATE 001

Здесь вывод env, он показывает отображение. Но я хочу получить его по имени пользователя, как в вопросе наверху, и это не работает.

CLUTTER_IM_MODULE=xim LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: LESSCLOSE=/usr/bin/lesspipe %s %s XDG_MENU_PREFIX=gnome- LANG=en_US.UTF-8 DISPLAY=:0 GNOME_SHELL_SESSION_MODE=ubuntu COLORTERM=truecolor DESKTOP_AUTOSTART_ID=103724b41fe83ecb6c152542594670522500000011280007 USERNAME=johndoe XDG_VTNR=2 SSH_AUTH_SOCK=/run/user/1000/keyring/ssh XDG_SESSION_ID=5 USER=johndoe DESKTOP_SESSION=ubuntu QT4_IM_MODULE=xim TEXTDOMAINDIR=/usr/share/locale/ GNOME_TERMINAL_SCREEN=/org/gnome/Terminal/screen/34510819_0c4e_4d16_b23f_d3178cc68fd9 PWD=/home/johndoe HOME=/home/johndoe TEXTDOMAIN=im-config SSH_AGENT_PID=1223 QT_ACCESSIBILITY=1 XDG_SESSION_TYPE=x11 XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop XDG_SESSION_DESKTOP=ubuntu GTK_MODULES=gail:atk-bridge WINDOWPATH=2 TERM=xterm-256color SHELL=/bin/bash VTE_VERSION=5201 QT_IM_MODULE=xim XMODIFIERS=@im=ibus IM_CONFIG_PHASE=2 XDG_CURRENT_DESKTOP=ubuntu:GNOME GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1 GNOME_TERMINAL_SERVICE=:1.77 XDG_SEAT=seat0 SHLVL=1 GDMSESSION=ubuntu GNOME_DESKTOP_SESSION_ID=this-is-deprecated LOGNAME=johndoe DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus XDG_RUNTIME_DIR=/run/user/1000 XAUTHORITY=/run/user/1000/gdm/Xauthority XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin SESSION_MANAGER=local/johndoe-johndoeBox:@/tmp/.ICE-unix/1128,unix/johndoe-johndoeBox:/tmp/.ICE-unix/1128 LESSOPEN=| /usr/bin/lesspipe %s GTK_IM_MODULE=ibus _=/usr/bin/env
1
задан 4 May 2018 в 13:51

2 ответа

johndoe имеет сеанс Wayland, который не использует переменную DISPLAY. Если вам действительно нужно использовать X11, попросите Джона Доу войти в сеанс X11 и повторите попытку.

@dessert получает другой результат, потому что они используют сеанс X11 18.04.

0
ответ дан 17 July 2018 в 15:28

johndoe имеет сеанс Wayland, который не использует переменную DISPLAY. Если вам действительно нужно использовать X11, попросите Джона Доу войти в сеанс X11 и повторите попытку.

@dessert получает другой результат, потому что они используют сеанс X11 18.04.

0
ответ дан 23 July 2018 в 16:25
  • 1
    Это имеет смысл вообще, но почему есть Type=x11 в листинге? – Melebius 2 May 2018 в 16:29
  • 2
    @Melebius Мое предположение может быть неправильным. Согласно этой странице, Type=x11 должен правильно указать, что сеанс X11 активен: unix.stackexchange.com/questions/202891/… Возможно, существует разница между native X11 и XWayland (X11 в Wayland?) – Mark Stosberg 2 May 2018 в 16:33
  • 3
    Мне нужно X Display, чтобы мое задание cron правильно отображало изображение. Как я могу это сделать, если это сеанс Wayland? – aceph 3 May 2018 в 15:51
  • 4
    Вам нужна сессия Wayland? 18.04 продолжает поддерживать X. – Mark Stosberg 3 May 2018 в 15:55
  • 5
    Если Wayland по умолчанию работает с Ubuntu 18.04, то я бы предпочел его и не пытался вручную переключиться на X11. – aceph 3 May 2018 в 16:08

Другие вопросы по тегам:

Похожие вопросы: