Gnome Xmonad сломан после обновления до 14.10

После обновления до 14.10 gnome-settings-daemon не может быть правильно загружен /usr/share/gnome-session/sessions/xmonad.session. есть ли у кого-то такая же проблема?

1
задан 25 October 2014 в 13:25

4 ответа

Хорошо, я нашел решение.

Прежде всего, начиная с 14.10. Многие конфигурации приложений для унификации и gnome (те * .desktop в / usr / share / applications и / etc / xdg / autostart) включают в себя «OnlyShowIn = Unity». Поэтому мы должны добавить desktopname = unity в /usr/share/gnome-session/sessions/xmonad.session, чтобы эти приложения запускались.

Во-вторых, cmd 'dbus-send -print- reply = string 'теперь должен быть' dbus-send --print-reply = literal '. поэтому старый xmonad gnomeConfig не может зарегистрировать xmonad как wm. мы должны изменить команду dbus-send от = string до = literal.

1
ответ дан 24 May 2018 в 02:30
https://gist.github.com/bewest/46b849da04684f0ce401 http://blog.ezyang.com/2014/12/ubuntu-utopic-upgrade-xmonad/comment-page-1/

] Синтаксис --print-reply=string вызывает ошибку. Имя приложения, которое должно быть «зарегистрировано», не xmonad, а xmonad.desktop. Я запустил создание файла ~/.xmonad/hooks со следующей командой:

dbus-send --session --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.RegisterClient string:xmonad.desktop string:$DESKTOP_AUTO_START_ID

Я также нашел предыдущее исправление, установка DesktopName=Unity заставляет gnome-control-center использоваться должным образом. [!d6 ]

1
ответ дан 24 May 2018 в 02:30

Я кратко упомянул об этом в тексте, но я нашел в документах XMonad, что автозапуск запускается автоматически, этот config:

, startupHook = execScriptHook "startup"

Это вызывает сценарий оболочки запускается автоматически, что я нашел легче, чем monkeypatching hookk.

http://xmonad.org/xmonad-docs/xmonad-contrib/XMonad-Hooks-Script.html

XMonad.Hooks.Script

Интерфейс скриптового скрипта

Предоставляет простой интерфейс для запуска скрипта ~ / .xmonad / hooks с помощью имя крюка.

Сводка

Использование

Этот модуль позволяет запускать централизованный сценарий с текстовым именем крючка. Предполагается, что скрипт находится в ~ / .xmonad / hooks.

Например, если вы хотите запускать запуск крюка в своем скрипте каждый раз, когда запускается ваш крючок запуска, вы можете изменить конфигурацию xmonad как такие как:

main = xmonad $ defaultConfig { ... startupHook = execScriptHook "startup" ... } Теперь, каждый раз, когда запускается крючок запуска, также будет выполняться команда ~/.xmonad/hooks startup.

0
ответ дан 24 May 2018 в 02:30

Вот очень простой способ обхода проблемы «xmonad не удается зарегистрировать» (в других ответах с помощью xmonad hooks или записи gnomeRegister2): в файле xmonad.desktop замените Exec=xmonad на Exec=sh -c "xmonad &" , Это приводит к очень быстрому запуску - я получил эту идею здесь, но это может сломать другие вещи.

Часть DesktopName=Unity по-прежнему необходима.

UPDATE (16 ноября) 2015)

Я регулярно сражаюсь с XMonad + Gnome, когда я обновляю Ubuntu. Мои конфигурационные файлы здесь , если кто-то захочет посмотреть, как я недавно получил XMonad и Gnome, чтобы играть хорошо вместе.

По состоянию на 16 ноября 2015 года важно файлы

~/.xsession: https://github.com/ntc2/conf/blob/master/dot.xsession Файлы Gnome *.desktop: https://github.com/ntc2/conf/ tree / master / dot.local / share / applications (я поддерживаю конфигурацию XMonad + Gnome в своем домашнем каталоге без необходимости редактировать какие-либо файлы системы *.desktop, см. мой скрипт для установки, где находятся эти файлы). Файл Gnome *.session: https://github.com/ntc2/conf/blob/master/dot.config/gnome-session/sessions/local-xmonad-session.session

Для Ubuntu 15.04 и 15.10 самым важным и трудным для обнаружения было добавление export XDG_CURRENT_DESKTOP=Unity к моему ~/.xsession:

# Without setting this explicitly, it gets te value "Gnome", which
# makes `unity-settings-daemon` fail to start and we get
# `gnome-settings-daemon` instead. Not sure what this variable does,
# but I got the hint here:
# https://bugzilla.gnome.org/show_bug.cgi?id=729575.
#
# Setting to values other than "Unity" -- e.g. "default", which `env`
# tells me is the value of related variables, or "GNOME-Flashback",
# which is the `DesktopName` I might suspect here -- I get weird
# behavior, e.g. none of the dock items appear in the Gnome panel.
export XDG_CURRENT_DESKTOP=Unity

Кроме того, чтобы получать графические уведомления, например, нажатие клавиш громкости и регулировка яркости экрана, мне нужно было установить пакет notify-osd.

0
ответ дан 24 May 2018 в 02:30

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

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