Почему делает “lxsession&\” через “ssh-X”, заставляют Ubuntu выглядеть по-другому даже после разъединения?

Я работал со своим Raspberry Pi, и я закончил тем, что портил свою машину Ubuntu. Я ssh -X'd в Пи от моего рабочего стола Ubuntu 14.04, и пытался заставить графическую сессию запускаться на пи, таким образом, я видел его с передачей X11. Я работал startx и это получило ошибку, таким образом озираясь я видел это обсуждение raspberrypi.org, и (не действительно знающий, что я делал), попробованный lxsession&.

Это изменило Ubuntu, таким образом, она была похожа на некоторую версию Windows, с панелью задач внизу экрана и другим взглядом для всех моих программ, наиболее заметно вкладки на моих веб-браузерах. Это сохранилось после того, как я закрыл сеанс Pi (за исключением панели задач: этого не стало).

Это - то, что я сделал в терминале:

pi@raspberrypi ~ $ startx

X.Org X Server 1.12.4
Release Date: 2012-08-27
X Protocol Version 11, Revision 0
Build Operating System: Linux 3.2.0-2-mx5 armv7l Debian
Current Operating System: Linux raspberrypi 3.18.7+ #755 PREEMPT Thu Feb 12 17:14:31 GMT 2015 armv6l
Kernel command line: dma.dmachans=0x7f35 bcm2708_fb.fbwidth=656 bcm2708_fb.fbheight=416 bcm2708.boardrev=0xe bcm2708.serial=0xc4895bc4 smsc95xx.macaddr=B8:27:EB:89:5B:C4 bcm2708_fb.fbswap=1 sdhci-bcm2708.emmc_clock_freq=250000000 vc_mem.mem_base=0x1ec00000 vc_mem.mem_size=0x20000000  dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait
Build Date: 11 February 2015  09:31:17PM
xorg-server 2:1.12.4-6+deb7u6 (Julien Cristau <jcristau@debian.org>) 
Current version of pixman: 0.33.1
    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: "/var/log/Xorg.0.log", Time: Fri Apr 24 02:10:24 2015
(==) Using system config directory "/usr/share/X11/xorg.conf.d"
FATAL: Module g2d_23 not found.
^Cxinit: connection to X server lost

waiting for X server to shut down Server terminated successfully (0). Closing log file.

xinit: unexpected signal 2
pi@raspberrypi ~ $ lxsession&
[1] 2290
pi@raspberrypi ~ $ 
(lxpanel:2297): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-can-change-accels after class was initialised

(lxpanel:2297): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-popup-delay after class was initialised

(lxpanel:2297): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-popdown-delay after class was initialised

** (lxpolkit:2301): CRITICAL **: polkit_agent_listener_register_with_options: assertion 'POLKIT_IS_SUBJECT (subject)' failed

(lxpolkit:2301): GLib-GObject-CRITICAL **: g_object_unref: assertion 'G_IS_OBJECT (object)' failed

(lxpanel:2297): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-images after class was initialised

(lxpanel:2297): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-label-select-on-focus after class was initialised
pi@raspberrypi ~ $ Openbox-Message: A window manager is already running on screen 0

(lxpanel:2297): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-button-images after class was initialised

(pcmanfm:2298): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-can-change-accels after class was initialised

(pcmanfm:2298): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-popup-delay after class was initialised

(pcmanfm:2298): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-popdown-delay after class was initialised

(pcmanfm:2298): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-label-select-on-focus after class was initialised

(pcmanfm:2298): GLib-GObject-WARNING **: Attempt to add property GtkSettings::gtk-menu-images after class was initialised
tray: another systray already running
^C
pi@raspberrypi ~ $ sudo shutdown -h now

Broadcast message from root@raspberrypi (pts/0) (Fri Apr 24 02:22:27 2015):
The system is going down for system halt NOW!
pi@raspberrypi ~ $ Connection to 192.168.254.7 closed by remote host.
Connection to 192.168.254.7 closed.
max@max-ubuntu:~$ ^C
max@max-ubuntu:~$ man lxsession
No manual entry for lxsession
max@max-ubuntu:~$ lxsession -help
The program 'lxsession' is currently not installed. You can install it by typing:
sudo apt-get install lxsession
max@max-ubuntu:~$ lxsession& -help
[1] 25443
No command '-help' found, did you mean:
 Command 'dhelp' from package 'dhelp' (universe)
-help: command not found
max@max-ubuntu:~$ The program 'lxsession' is currently not installed. You can install it by typing:
sudo apt-get install lxsession
ok
ok: command not found
[1]+  Exit 127                lxsession
[1]+  Exit 127                lxsession

Что вызывает эту проблему и как она может быть зафиксирована? Будет перезагрузка на машине Ubuntu возвращать взгляд Ubuntu, или это сделает это постоянным?

Это - то, на что мой браузер Firefox похож теперь. Наиболее заметно вкладки и полосы прокрутки выглядят по-другому:

The tabs don't look like normal Ubuntu.

Править: Я зафиксировал его путем перезагрузки, но мне все еще будет интересно знать, почему это происходит.

3
задан 11 September 2017 в 19:27

2 ответа

Перезагрузка решает проблему, давая мне нормальный экран снова:

fixed, normal Ubuntu look

Однако, когда я перезагрузил, мне показали гигантскую малину на моем рабочем столе на мгновение, как будет замечен при закрытии Пи с запущенным GUI. (На данном этапе пи малины было выключено и разъединилось в течение достаточно долгого времени.)

Так, если у кого-либо есть эта проблема, перезагружая Ваш компьютер, зафиксирует его.

0
ответ дан 12 September 2017 в 05:27

The Fix

Перезагрузка достаточна для фиксации этого, но не необходимая. Можно зафиксировать рабочий стол, выйдя из системы и въехать задним ходом. Вы сделали бы это в затронутой системе, то есть, система, рабочий стол которой был испорчен, система Ubuntu, которая использовалась в качестве клиента SSH, не Rapsberry Pi, который был сервером SSH. Обратите внимание, что просто блокировка и разблокирование экрана не будут работать - но выходить из системы достаточно.

При использовании Единицы она, вероятно, работает compiz --replace на затронутой машине также работал бы и избежал бы потребности выйти из системы, но я рекомендую выйти из системы и въезжаю задним ходом.

Перезагрузка решила проблему, потому что она включила выходить из системы, и въехать задним ходом. Это хорошо, но не необходимо.


Что случилось?

Когда Вы используете ssh -X и запущенный графическая программа, программа:

  • работает на сервере SSH (здесь, Raspberry Pi)
  • дисплеи на клиенте SSH (здесь, Ваша система Ubuntu)

LXSession является менеджером сеансов LXDE. Выполнение lxsession на сервере SSH из ssh -X сессия запускает графическую сессию LXDE на сервере с помощью дисплея клиента. Это вызывает эти два существенных изменения, которые Вы заметили:

lxsession выполнения lxpanel. LXDE использует LXPanel в качестве своей панели. Это несколько напоминает панель задач Windows, в которой это имеет единственную панель, принимающую значение по умолчанию к более низкому краю экрана, который, если не настроено, имеет (a) единственное вложенное меню, открываемое от левого края панели, от которой приложения помещаются в группы и (b) список окна в самой панели, которая упрощает переключение между приложениями.

lxsession выполнения openbox. LXDE использует Openbox в качестве своего менеджера окон (см. также эту статью и эту страницу). Менеджеры окон управляют, как отображены окна; они - то, что позволяет Вам переключать, перемещать и изменять размер окон; и они обеспечивают границы и моделирование. Ваш интерфейс Unity использует менеджер окон Compiz. Поскольку это было подключено к дисплею на клиенте SSH, openbox экземпляр, работающий на SSH, разъединяет предпринятый для управления окнами на клиенте SSH.

Когда Вы закрываетесь и разъединенный от сервера SSH, все программы, работающие на сервере SSH, которые использовали остановленный дисплей клиента SSH. Панель исчезла, как Вы заметили. Openbox также прекратил пытаться управлять окнами на клиенте SSH, но он уже переместил Compiz.

Другие возможные меры

Это были эти два существенных изменения, но вероятно не единственные. Если Вы действительно хотели знать все lsession работал, Вы могли консультироваться с обеими его документацией и считать конфигурационные файлы на Raspberry Pi, который она использует, или Вы могли попытаться копировать проблему и работать pstree на сервере SSH для наблюдения всего lxsession запущенный. Но это является ненужным. Выходить из системы и въезжает задним ходом, достаточно для установки всего правильного снова. Перезагрузка, как Вы сделали, также достаточна.

Поскольку основная проблема состояла в том, что Compiz больше не работал правильно, работая compiz --replace в Вашей системе Ubuntu (клиент SSH) зафиксировал бы это. Но выходить из системы и въезжает задним ходом, легко, прост, и не требует, чтобы Вы провели больше времени, анализируя проблему.

Почему Вы не нашли lxsession на клиенте SSH

После закрытия соединения с Raspberry Pi (сервер SSH), Вы попробовали команды man lxsession и lxsession в Вашей системе Ubuntu, которая была клиентом SSH. У Вас не было той страницы справочника или что исполняемый файл, однако, потому что lxsession не был установлен - или работающий - на клиенте SSH. Это работало на сервере SSH и некоторые программы, которые это запустило, влиял на клиент SSH.

Если это было системой Lubuntu, или Вы иначе установили LXDE - или lxsession конкретно - затем Вы смогли бы просмотреть страницу руководства и запустить программу. Это не обязательно было бы той же версией lxsession поскольку Вы имеете на Raspberry Pi. Можно попробовать SSHing к Raspberry Pi и выполнению man lxsession там. (Если Вы не пытаетесь воспроизвести проблему, я рекомендую против выполнения lxsession на Raspberry Pi.)


Что Вы предназначенный, чтобы сделать

Вы могли выполнить X11 на Ubuntu без менеджера сеансов или даже менеджера окон, и Вы могли работать ssh -X и затем lxsession на Raspberry Pi. Ни с чем как существующее X сессий, уже работающих, не был бы разрушен Ваш рабочий стол. Но я сомневаюсь, что это - то, что Вы хотите. Вы, вероятно, хотите одну из трех вещей:

  • Запускать отдельные графические программы, которые установлены на сервере SSH через ssh -X. В этом случае, просто запущенный те программы, например, xclock, firefox, libreoffice. SSH передаст им GUI на клиенте SSH. (Если Вы хотите смочь разъединиться и снова соединиться, не выходя из программы, затем одна из следующих двух опций может заинтересовать Вас, но видеть этот ответ и что один.)
  • Выполнять персистентный графический рабочий стол на сервере SSH, от которого можно разъединиться и подключить с, не заканчиваясь и перезапуская настольную сессию. В этом случае Вы не захотите программы как lxsession быть ограниченным одной сессией SSH или непосредственно использовать и полагаться на дисплей клиента SSH. В этой ситуации одно решение состоит в том, чтобы поддерживать графический рабочий стол в рабочем состоянии на сервере SSH и подключении к нему от клиента. Это может быть сделано, например, с VNC или xrdp. (Remmina является популярным клиентом.) Читатели, возможно, должны задать новые вопросы на основе своих определенных ситуаций, но видеть, Как я настраиваю xrdp сессию, которая снова использует существующую сессию?
  • Заставить сервер SSH полностью управлять рабочим столом на клиенте SSH. Если Вы действительно хотите это, и Вы уже используете GUI на клиенте, что Вы не хотите быть разрушенными - который является тем, что произошло с Вами - затем можно выполнить второй X-сервер одновременно на клиенте SSH. Из этих трех опций я думаю, что это - то, которое необходимо маловероятно хотеть - хотя это является самым подобным тому, что Вы сделали - и определенные детали того, как сделать это, выходят за рамки этого ответа. Но посмотрите этот вопрос и что один.
1
ответ дан 12 September 2017 в 05:27

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

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