Я работал со своим 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 похож теперь. Наиболее заметно вкладки и полосы прокрутки выглядят по-другому:
Править: Я зафиксировал его путем перезагрузки, но мне все еще будет интересно знать, почему это происходит.
Перезагрузка решает проблему, давая мне нормальный экран снова:
Однако, когда я перезагрузил, мне показали гигантскую малину на моем рабочем столе на мгновение, как будет замечен при закрытии Пи с запущенным GUI. (На данном этапе пи малины было выключено и разъединилось в течение достаточно долгого времени.)
Так, если у кого-либо есть эта проблема, перезагружая Ваш компьютер, зафиксирует его.
Перезагрузка достаточна для фиксации этого, но не необходимая. Можно зафиксировать рабочий стол, выйдя из системы и въехать задним ходом. Вы сделали бы это в затронутой системе, то есть, система, рабочий стол которой был испорчен, система Ubuntu, которая использовалась в качестве клиента SSH, не Rapsberry Pi, который был сервером SSH. Обратите внимание, что просто блокировка и разблокирование экрана не будут работать - но выходить из системы достаточно.
При использовании Единицы она, вероятно, работает compiz --replace
на затронутой машине также работал бы и избежал бы потребности выйти из системы, но я рекомендую выйти из системы и въезжаю задним ходом.
Перезагрузка решила проблему, потому что она включила выходить из системы, и въехать задним ходом. Это хорошо, но не необходимо.
Когда Вы используете ssh -X
и запущенный графическая программа, программа:
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 -X
. В этом случае, просто запущенный те программы, например, xclock
, firefox
, libreoffice
. SSH передаст им GUI на клиенте SSH. (Если Вы хотите смочь разъединиться и снова соединиться, не выходя из программы, затем одна из следующих двух опций может заинтересовать Вас, но видеть этот ответ и что один.)lxsession
быть ограниченным одной сессией SSH или непосредственно использовать и полагаться на дисплей клиента SSH. В этой ситуации одно решение состоит в том, чтобы поддерживать графический рабочий стол в рабочем состоянии на сервере SSH и подключении к нему от клиента. Это может быть сделано, например, с VNC или xrdp. (Remmina является популярным клиентом.) Читатели, возможно, должны задать новые вопросы на основе своих определенных ситуаций, но видеть, Как я настраиваю xrdp сессию, которая снова использует существующую сессию?