startxはどのデスクトップ環境を実行し、どのように変更できますか?


18

多くのドキュメントからstartx、Raspbian OSでLXD​​Eを開始することを読みました。私は少し混乱しています。

常にstartxLXDE GUIを実行しますか?

また、startlxdeコマンドを使用した例を見てきました。どのようにコマンドが異なる理由であるstartxstartlxde同じGUI(LXDE)を実行していますか?それとも、デフォルトのGUIであるため、それを実行しますか?

複数のGUIがある場合、デフォルトのGUIを選択するにはどうすればよいですか?

LinuxシステムのGUIについて詳しく説明してください。

回答:


27

startxxinitXサーバーとクライアントセッションを開始する実行。クライアントセッションが~/.xinitrc存在する場合、または存在しない場合/etc/X11/xinit/xinitrc(場所はディストリビューションによって異なる場合があります)。このスクリプトの機能は、ディストリビューションによって異なります。Debian(Raspbianなどの派生物を含む)で/etc/X11/xinit/xinitrc実行/etc/X11/Xsessionし、順にスクリプトを実行し/etc/X11/Xsession.dます。Debianのスクリプトは、他のファイルで、ユーザー・セッションを探して(~/.xsession~/.xsessionrc~/.Xsession)とはユーザーの設定が適用されない場合は、実行がx-session-manager(バックに落下x-window-manager、何の[セッションマネージャ]がインストールされていない場合に戻って落下x-terminal-emulatorなしウィンドウマネージャがないとは考えにくい場合にはインストール済み)。

実行するものを制御したい場合は、~/.xsessionまたはのいずれかのユーザーファイルを作成できます~/.xinitrc。このファイル~/.xsessionは、ディスプレイマネージャーにログインする場合(つまり、GUIウィンドウにパスワードを入力する場合)にも使用されます。ファイルには、~/.xinitrc固有であるxinitstartx。使用すること~/.xsessionを通過/etc/X11/Xsessionあなたが使用している場合、それはなどの入力方法、リソース、パスワード薬、のようなものを設定して.xinitrc、あなたはこれらの手動でのすべてを行う必要があるでしょう。繰り返しますが、ここでDebianについて説明していますが、他のUnixの亜種は設定が異なる場合があります。を使用して、~/.xinitrc実行時に実行されるものstartxまたはxinitユニバーサルなものを指定します。

~/.xinitrcまたはを使用するかどうかにかかわらず~/.xsession、このファイル(通常はシェルスクリプトですが、本当に何か他のものを使用したい場合はそうである必要はありません)ウィンドウマネージャーなどによって)、最後にセッションを管理するプログラムを実行します。スクリプトが終了すると、セッションは終了します。通常、execスクリプトの最後に使用して、セッションマネージャーまたはウィンドウマネージャーでスクリプトを置き換えます。

あなたのシステムは、おそらく/usr/bin/startlxdeシステム全体のデフォルトのセッションマネージャーとして持っています。Debianおよび派生物では、利用可能なセッションマネージャーを確認できます。

update-alternatives --list x-session-manager

または、どちらが最新であるかを示すより詳細な説明を取得します

update-alternatives --display x-session-manager

LXDEがシステム全体のデフォルトではなく、アカウントのデフォルトにしたい場合は、次の~/.xsessionファイルを使用できます。

#!/bin/sh
exec startlxde

一部のUnixバリアントでは、グラフィカルログインのみで実行され、では実行されないためstartx、同一のを作成する必要もあります~/.xinitrc。(または同一で~/.xsessionはありません:で、他のことをしたい場合があります。これは、グラフィカルセッションで実行される最初のファイルであるためです。たとえば. ~/.profile、環境変数を設定するために上部近くに置くことができます。)

一時的に他の環境を試してみたい場合は、startxそれ自体のコマンドラインで実行する別のプログラムを指定できます。startxプログラムは、癖を持っている:あなたがプログラムへのフルパスを使用する必要があります。

startx /usr/bin/startkde

このstartxコマンドでは、サーバーに渡す引数を指定することもできます。たとえば、複数のGUIセッションを同時に実行する場合、毎回異なるディスプレイ番号を渡すことができます。--のコマンドラインでサーバー引数を渡しますstartx

startx /usr/bin/startkde -- :1

私はDebian 9を使用しています。私のマシンはtty1で起動します。ログインstartxから、デフォルトのXfce4セッションが開始されます。tty1またはtty2での妻のユーザーログインから。彼女のstartxコマンドはCinnamon(で指定~/.xsession)を実行するように設定されています。2番目のXサーバーについて$DISPLAYは、回答の最後の部分に記載されているように指定する必要はありません。それは確かに動作しますが。自動的に2番目$DISPLAYなどになります。ただし、セットアップは素晴らしいです。グラフィカルセッションへのログインとログアウトはなく、ユーザープロファイルを切り替えるためのキーボードショートカットだけです。この役立つ回答をありがとう!
jbrock

10

いいえ:startx設定可能です。マニュアルページによると:

実行するクライアントを決定するには、startxまず.xinitrcユーザーのホームディレクトリで呼び出されるファイルを探します。見つからない場合はxinitrcxinitライブラリディレクトリ内のファイルが使用されます。

startxXを起動する唯一の方法ではありません(からご覧くださいstartlxde)。startxマニュアルページは再び役立ちます:

startxスクリプトはxinit(1)のフロントエンドであり、X Window Systemの単一セッションを実行するためのやや優れたユーザーインターフェイスを提供します。多くの場合、引数なしで実行されます。

一方、GUI(LXDE、KDEなど)を選択する場合は、およびxdmなどの類似物を使用して、さまざまなデスクトップタイプを選択します。Debian では、さまざまなデスクトップタイプを使用できるため、通常はを使用します。のパッケージャーはほとんどのデスクトップタイプを許可しないため、私のニーズには適さない。kdmgdmLightDMkdmgdm

xdm使用して異なる起動するための一連のスクリプトが、例えば、あなたの~/.xsessionシステムのスクリプトと一緒にスクリプトを実行します。類似者はこれを無視し、独自のスクリプトを使用する場合があります。しかし、それは出発点です。


だから、confファイルのどこかに、例えばLXDEを実行するように書かれていますか?
CuriousGuy

.xinitrc構成可能なスクリプトです。これを行うようにコーディングされている場合、LXDEを直接実行できます。
トーマスディッキー

1
startlxdexinitのフロントエンドではなく、LXDEセッションマネージャーのランチャーです。これはの代替ではなく、でstartx実行できるものです~/.xinitrc
ジル 'SO-悪であるのをやめる'

次に、いくつかのドキュメントが必要です。真剣に、良い答えはOPをドキュメンテーションの方向に向けるのではなく、ドキュメンテーションの方向に向けます(ドキュメンテーションをよりよく理解するためにドキュメンテーションを作成するためのいくつかのコメントがない限り)。
トーマスディッキー
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.