Я опоздал, но обычный способ обмена Esc и Ctrl со следующими строками в файле ~/.Xmodmap:
clear Lock
keysym Caps_Lock = Escape
keysym Escape = Caps_Lock
add Lock = Caps_Lock
Это должно работать со всеми средами рабочего стола (KDE , Gnome) на большинстве распространенных дистрибутивов (семейства Ubuntu и Debian, семейства Fedora и RH).
Быстрое исправление: Войдите в систему, затем выполните killall metacity & xmonad.
Кажется, что это работает, хотя у меня возникают проблемы с клавиатурой и мышью, которые могут или не могут быть связаны с этим решением. [ ! d1]
Кроме того, учитывая, что это работает, вы могли бы подумать, что я могу просто изменить значение окна менеджера в /usr/share/gnome-session/sessions/gnome-classic.session, но когда я изменю значение , ничего не происходит.
Пример с диспетчером окон пильного диска (извините, я не использую xmonad).
Кажется, что ошибка в 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.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.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&"'
Для новых версий 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» на экране входа в систему.
(источник: это )
Для новых версий 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
blockquote>, а затем вы можете войти в систему, используя сеанс «GNOME with Xmonad» на экране входа в систему.
(источник: http://www.haskell.org/haskellwiki/Xmonad/Using_xmonad_in_Gnome#Ubuntu_Precise )