Как получить xmonad для запуска с повторным сеансом GNOME?

Я опоздал, но обычный способ обмена Esc и Ctrl со следующими строками в файле ~/.Xmodmap:

clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock

Это должно работать со всеми средами рабочего стола (KDE , Gnome) на большинстве распространенных дистрибутивов (семейства Ubuntu и Debian, семейства Fedora и RH).

7
задан 21 October 2011 в 12:26

4 ответа

Быстрое исправление: Войдите в систему, затем выполните killall metacity & xmonad.

Кажется, что это работает, хотя у меня возникают проблемы с клавиатурой и мышью, которые могут или не могут быть связаны с этим решением. [ ! d1]

Кроме того, учитывая, что это работает, вы могли бы подумать, что я могу просто изменить значение окна менеджера в /usr/share/gnome-session/sessions/gnome-classic.session, но когда я изменю значение , ничего не происходит.

3
ответ дан 25 May 2018 в 17:52
  • 1
    Tricky. Я поддержу их, когда у меня будет больше голосов, но если вы достигнете большего прогресса, добавьте обновления - мне тоже интересно. – belacqua 20 October 2011 в 23:33

Как использовать пользовательский диспетчер окон с сеансом GNOME Classic в 11.10

Пример с диспетчером окон пильного диска (извините, я не использую xmonad).

1. Исправить gnome-classic.session

Кажется, что ошибка в gnome-classic.session. Вот как это исправить:

Отредактируйте системный файл /usr/share/gnome-session/sessions/gnome-classic.session напрямую или сделайте копию в своем домашнем каталоге:

mkdir ~/.config/gnome-session/sessions
cp -ai /usr/share/gnome-session/sessions/gnome-classic.session ~/.config/gnome-session/sessions/

Сделайте это изменение:

 [GNOME Session]
 Name=GNOME Classic
 RequiredComponents=gnome-panel;gnome-settings-daemon;
-RequiredProviders=windowmanager;notifications;
+RequiredProviders=windowmanager;
 DefaultProvider-windowmanager=gnome-wm
 DefaultProvider-notifications=notify-osd
 IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
 FallbackSession=gnome-fallback
 DesktopName=GNOME

2.1. Альтернатива 1: Установите WINDOW_MANAGER в ~ / .gnomerc

2.1.a. Создайте / отредактируйте ~ / .gnomerc и добавьте это:

export WINDOW_MANAGER=sawfish

Замените «sawfish» в этом примере с помощью диспетчера окон, который вы хотите использовать. Если вы входите в систему с сеансом «GNOME Classic», вы получите свой выбранный оконный менеджер.

2.1.a. Создайте / отредактируйте ~ / .gnomerc и добавьте это:

Если у вас возникла 30-секундная задержка при входе в систему с указанным выше решением, следующее исправление (это может быть просто проблема с пивом) .

Сделать сценарий запуска, например ~ / bin / my-gnome-wm:

#!/bin/bash
sawfish &

Сделайте его исполняемым:

chmod u+x ~/bin/my-gnome-wm

Измените ~ / .gnomerc на это:

export WINDOW_MANAGER="$HOME/bin/my-gnome-wm"

2.2. Альтернатива 2: Использовать sawfish.desktop

2.2.a. Отредактируйте gnome-classic.session еще раз:

 [GNOME Session]
 Name=GNOME Classic
 RequiredComponents=gnome-panel;gnome-settings-daemon;
 RequiredProviders=windowmanager;
-DefaultProvider-windowmanager=gnome-wm
+DefaultProvider-windowmanager=sawfish
 DefaultProvider-notifications=notify-osd
 IsRunnableHelper=/usr/lib/gnome-session/gnome-session-check-accelerated
 FallbackSession=gnome-fallback
 DesktopName=GNOME

Замените «sawfish» в этом примере с помощью диспетчера окон, который вы хотите использовать. Для этого требуется, чтобы файл, подобный «sawfish.desktop», был установлен в правильном месте, например. /usr/share/applications/sawfish.desktop.

2.2.a. Измените gnome-classic.session еще раз:

Если у вас возникла 30-секундная задержка при входе в систему с указанным выше решением, следующее будет исправлено (это может быть просто проблема с пивом).

Отредактируйте системный файл /usr/share/applications/sawfish.desktop непосредственно или сделайте копию в своем домашнем каталоге:

mkdir ~/.local/share/applications
cp -ai /usr/share/applications/sawfish.desktop ~/.local/share/applications/

Внесите это изменение:

 [Desktop Entry]
 Name=Sawfish
 Name[el]=Ðñéïíüøáñï (Sawfish)

 Type=Application
-Exec=sawfish
+Exec=bash -c 'sawfish&'
 TryExec=sawfish

 Terminal=false
 NoDisplay=true

 X-GNOME-WMName=Sawfish
 X-GNOME-Autostart-Phase=WindowManager
 X-GNOME-Provides=windowmanager
 X-GNOME-Autostart-Notify=true

Примечания

С DefaultProvider-windowmanager = gnome-wm и без установки WINDOW_MANAGER в .gnomerc мы, похоже, одновременно получаем как Unity, так и GNOME Classic друг на друга! [!d27 ]

Эта запись в ошибках ~ / .xsession, вероятно, говорит о том, почему существует 30-секундная задержка:

gnome-session[23870]: WARNING: Application 'gnome-wm.desktop' failed to register before timeout

Зачем создавать сценарий my-gnome-wm? Поскольку это, похоже, не работает:

export WINDOW_MANAGER='/usr/bin/sawfish&'

Также это:

export WINDOW_MANAGER='bash -c "/usr/bin/sawfish&"'
5
ответ дан 25 May 2018 в 17:52
  • 1
    Большое спасибо за очень подробный ответ, приятно получить целые фотографии того, что происходит после траты времени на пробную ошибку ... – Alois Cochard 29 November 2011 в 18:37

Для новых версий Ubuntu (например, 15.04) этот репозиторий доступен. Для установки необходимых файлов:

sudo add-apt-repository ppa:gekkio/xmonad
sudo apt-get update
sudo apt-get install gnome-session-xmonad

Для Ubuntu 12.04 он почти работает «из коробки» - вам необходимо установить панель gnome вручную:

sudo apt-get install gnome-panel

, а затем вы можете войти в систему, используя сеанс «GNOME with Xmonad» на экране входа в систему.

(источник: это )

1
ответ дан 25 May 2018 в 17:52

Для новых версий Ubuntu (например, 15.04), доступно это репозиторий. Чтобы установить необходимые файлы:

sudo add-apt-repository ppa:gekkio/xmonad
sudo apt-get update
sudo apt-get install gnome-session-xmonad

Для Ubuntu 12.04 он почти работает «из коробки» - вам нужно вручную установить панель gnome:

sudo apt-get install gnome-panel

, а затем вы можете войти в систему, используя сеанс «GNOME with Xmonad» на экране входа в систему.

(источник: http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Ubuntu_Precise )

1
ответ дан 6 August 2018 в 02:58

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

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