ユーザーが特定のアプリケーションにのみアクセスできることが必要になる場合があります。セキュリティ上の理由から、または特定のアプリケーションへのより良いアクセシビリティを実現するために、デスクトップ環境を実行することは望ましくない場合があります。
このような場合、ログイン直後に実行されるアプリケーションでデスクトップを置き換えることが望ましい場合があります。
他のユーザーには、デスクトップへの通常のアクセス権が必要です。
最初に、デスクトップをロードしない特別なケースを処理するユーザー定義セッションを定義する必要があります。/usr/share/xsessions /に次のような内容のcustom.desktopファイルを作成して、このセッションを定義します。
[Desktop Entry]
Name=Custom
Comment=Custom Session to run ~./.xsession
Exec=/home/<username>/.xsession
X-Ubuntu-Gettext-Domain=<gnome-session-3.0>
これにより、GDMにユーザー.xsession
のHOMEにあるスクリプト<username>
を実行するよう指示します。
オプションのX-Ubuntu-Gettext-Domain
は、後でUnity/GNOMEデスクトップをロードする場合の正しい言語翻訳に必要です(10.04のgdm
に置き換えます)。
このスクリプト〜/ .xsessionは、次のように単純に見える可能性があります。
#! /bin/bash
xterm
logout
Gdm画面で特定のユーザーのログイン中にセッション「カスタム」をロードするように定義すると、X-Terminalのみが開始され、終了時にgdmに戻ります。次回ユーザーとしてログインすると、この設定はデフォルトとして記憶されます。
もちろん、GNOMEなどのWindowsマネージャーを必要とするアプリケーションをまだ実行することはできません。これを行うには、.xsessionスクリプトを次のようなものに置き換えます。
#! /bin/bash
gnome-wm &
firefox
logout
GNOME Windowsマネージャーがロードされたが、デスクトップ要素が存在しないことがわかります。これにより、アプリケーション(ここではfirefoxなど)を開始できます。
しかし、あなたが何をするかに注意してください:存在しないトレイへのアプリケーションを最小化すると、見栄えの良い壁紙になります。このため、アプリケーションの終了後にセッションをログアウトするには、スクリプトの最後にlogout
を含めることが非常に重要です。スクリプトにスクリプトを追加するまで、これを実行するプログラムは他にありません。デスクトップを意図的にfirefoxのみに置き換えました(悪い考えです)。
もちろん、スクリプトからgnome-desktop
またはgnome-session
(それぞれのオプション)を開始することもできますが、これは既にデフォルトで実行されています。