Инициировать новый (X11) сеанс рабочего стола на удаленном хосте

Инициировать новый (X11) сеанс рабочего стола на удаленном хосте

Я хотел бы создать новый Xorgсервер наудаленныйхост. Сначала я думал, что это будет так же просто, как и на локальном хосте:

$ xinit /usr/bin/startxfce4 -- :4

Наместныйхост, эта команда, введенная в (неграфическую) оболочку входа (vt/tty), запуститдругой Xorgсервер, т.е. у меня будет рабочий стол xfce4 после этого - и этот рабочий столдополнительныйна мой обычный рабочий стол, запущенный при входе в систему из менеджера рабочего стола (например sddm, ).

Однако, если я попробую это наудаленный(fedora) система из sshконсоли:

X.Org X Server 1.20.6
X Protocol Version 11, Revision 0
Build Operating System:  5.0.6-200.fc29.x86_64 
Current Operating System: Linux noah.siteos-lokal.de 5.5.10-200.fc31.x86_64 #1 SMP Wed Mar 18 14:21:38 UTC 2020 x86_64
Kernel command line: BOOT_IMAGE=(hd0,msdos3)/vmlinuz-5.5.10-200.fc31.x86_64 root=/dev/mapper/vg_sdd-root ro rd.luks.uuid=luks-a9eba963-ff2e-499b-a298-0659c5e29359 rd.lvm.lv=vg_sdd/root rd.lvm.lv=vg_sdd/swap rhgb quiet resume=/dev/disk/by-uuid/73299393-6bdb-4230-a1ca-096e5ee32396 splash=silent quiet video.use_native_backlight=1
Build Date: 25 November 2019  12:00:00AM
Build ID: xorg-x11-server 1.20.6-1.fc31 
Current version of pixman: 0.38.4
        Before reporting problems, check http://wiki.x.org
        to make sure that you have the latest version.
Markers: (--) probed, (**) from config file, (==) default setting,
        (++) from command line, (!!) notice, (II) informational,
        (WW) warning, (EE) error, (NI) not implemented, (??) unknown.
(==) Log file: "/home/tpasch/.local/share/xorg/Xorg.4.log", Time: Fri Apr  3 19:38:52 2020
(==) Using config directory: "/etc/X11/xorg.conf.d"
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
(EE) 
Fatal server error:
(EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)
(EE) 
(EE) 
Please consult the Fedora Project support 
         at http://wiki.x.org
 for help. 
(EE) Please also check the log file at "/home/tpasch/.local/share/xorg/Xorg.4.log" for additional information.
(EE) 
(EE) Server terminated with error (1). Closing log file.
xinit: giving up
xinit: unable to connect to X server: Connection refused
xinit: server error

Интересно, почему можно начатьдругой Xorgнаместныйхост, но я получаю эту ошибку наудаленныйхозяин. Янетожидая «увидеть» новый рабочий стол из моего sshтерминала. Но я бы ожидал, что смогу «экспортировать» новый Xorgотрисованный рабочий стол, например, с помощью x11vnc.

Есть ли простой способ запустить это?

Премия выплачивается за:

  • Показываю, как начатьдругой Xorgсервер наудаленныймашина Fedora из sshтерминального сеанса.

Следующие ответы не будут рассматриваться:

  • Используя Xvfb, Xvncили что-то подобное.
  • Использование какой-либо технологии удаленного рабочего стола (RDP, VNC, Spice, TeamViewer, ...)

решение1

Ответ дается вашим вводом в командной строке.
$ xinit /usr/bin/startxfce4 -- :4

и вывод xorg

    Fatal server error:
    (EE) parse_vt_settings: Cannot open /dev/tty0 (Permission denied)

Символ «$» в командной строке означает, что вы не являетесь пользователем root (должно быть «#»), а вывод подразумевает, что у вас нет необходимых прав.

Вы можете попробовать
$ sudo xinit /usr/bin/startxfce4 -- :4
, но тогда xfce4 запустится с правами root.

Я бы рекомендовал запустить x-сервер как службу systemd и отдельно от любого x-клиента.

решение2

за пределамиупоминает проблему с разрешениями, и я согласен.

По сути, все, что вы знаете, это то, что команда не выполняется, поскольку она не может получить доступ к /dev/tty0.Простое чтение страниц руководства определяет, что у сервера xorg есть двоичная оболочкаЕсли это по каким-то причинам неясно, то хост-машина должна настроить эти параметры.

Правильный способ — использовать системы на месте. Поскольку в уравнении нужно учитывать SSH, имейте в виду, что это подвергает вашу систему риску. Тем не менее, на странице руководства говорится, что нужно обновить , /etc/X11/Xwrapper.configчтобы разрешить использование терминала через needs_root_rights=yes. Я считаю, что это вариант, который решит проблемы с запуском.

Связанный контент