web-dev-qa-db-ja.com

GNOMEフォールバックセッションでxmonadを実行するにはどうすればよいですか?

XMonadを11.10(x64、フレッシュインストール)で実行し、gnomeフォールバックセッションを実行することはできません。私はからの指示を適応しようとしました

http://markhansen.co.nz/xmonad-ubuntu-lucid/

そして

http://markhansen.co.nz/xmonad-ubuntu-oneiric/

しかし、運がありません。誰かがアイデアを持っているなら、私はそれらを聞きたいです。

7
emchristiansen

簡単な修正:ログインして、killall metacity & xmonadを実行します。

動作しているようですが、キーボードとマウスの問題が断続的に発生しています。この問題は、このソリューションに関連する場合と関連しない場合があります。

また、これが機能することを考えると、/ usr/share/gnome-session/sessions/gnome-classic.sessionのウィンドウマネージャーの値をスワップアウトできると思いますが、値を変更しても何も起こりません。

3
emchristiansen

11.10でGNOMEクラシックセッションでカスタムウィンドウマネージャーを使用する方法

Sawfishウィンドウマネージャーの例(申し訳ありませんが、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:〜/ .gnomercでWINDOW_MANAGERを設定します

2.1.a。 〜/ .gnomercを作成/編集し、これを追加します:

export WINDOW_MANAGER=sawfish

この例の「sawfish」を、使用するウィンドウマネージャーに置き換えます。 「GNOMEクラシック」セッションでログインすると、選択したウィンドウマネージャーが表示されます。

2.1.b。高速起動:

上記のソリューションでログイン時に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.b。高速起動:

上記のソリューションでログイン時に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を使用し、.gnomercでWINDOW_MANAGERを設定せずに、UnityとGNOME Classicの両方を同時に取得するように見えます!

〜/ .xsession-errorsのこのエントリは、おそらく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

新しいUbuntuバージョン(15.04など)では、 this リポジトリが利用可能です。必要なファイルをインストールするには:

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
Mark