/etc/gdm/Init/Default
を編集してFedoraのブート時にxhostを設定し、たとえば以下を追加できます。
/usr/bin/xhost +local:
Ubuntuでも同様のことができますか?私はそれが欲しい
/usr/bin/xhost +local:
システムがログインプロンプトにあるときにコマンドが実行されます。
xhost
コマンドを実行するにはアクティブなXサーバーが必要です。たとえば、lightdm
がロードされたときなど、ログイン画面で実行できます。 /etc/lightdm/lightdm.conf
を編集して次の行を追加することで有効にできます:
display-setup-script=/home/user/bin/xhost.sh
/etc/lightdm/lightdm.conf
ファイルの例:
[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
display-setup-script=/home/user/bin/xhost.sh
/home/user/bin/xhost.sh
ファイルの例:
#!/bin/bash
xhost +
Ubuntu 12.04.1 LTSで動作し、Xを必要とし、Tomcat 6で実行されたJavaアプリケーションを有効にする必要がありました。
これは私のために働いた:
編集~/.xinitrc
:
export DISPLAY=":0.0"
xhost +
openbox
注:特定のセットアップでは、openboxのみを実行しています。通常、そのファイルは空であるか、Ubuntuにありません。私の推測では、「openbox」行を削除しても機能すると思いますが、今はテストする方法がありません。動作しない場合は、ウィンドウマネージャーコマンドの最後の行を置き換えます。
Ubuntu 17.10でも同じ問題が発生しました。システムが適切に構成されていない可能性があります。とにかく、私の場合、私は追加しました
xhost + SI:localuser:root > /dev/null
~/.bashrc
ファイルの下部にあり、機能しました。これがセキュリティ上のリスクかどうかはわかりません。他の誰かが同じ状況にある場合に備えて、共有されたXサーバーユーザーのリストにrootを追加しても大丈夫だと信じています。
ここで提案されています http://ubuntuhandbook.org/index.php/2017/10/ubuntu-17-10-tip-graphical-apps-doesnt-launch-via-root-Sudo-gksu/ =
最初にターミナルで直接テストできます。
$ xhost + SI:localuser:root
$ xhost -
2行目では、リスト内のユーザーだけがXサーバーにアクセスできるようにします。次に、ファイルを右クリックするか、直接実行した後、「管理者として編集」を試してください。
$ pkexec gedit
これが機能しない場合、〜/ .bashrcでコマンドを永続的にすることは無意味です。
より正確には、最初に実行しました
$ xhost
xサーバーにアクセスしたユーザーを確認します。形式はSI:localuser:dominic
で、dominic
は私のログイン名であることがわかりました。そこで、SI:localuser:root
と同じ形式を使用してroot
ユーザーを追加しました。
以下に、@ GeorgeLitosの回答のバリエーションとこれらの変更を示します。
/etc/lightdm/lightdm.conf
を直接変更しないでください。これはシステム所有のファイルであり、システムのアップグレードによって上書きされる可能性があります。代わりに、拡張ディレクトリ/etc/lightdm/lightdm.conf.d/
を使用してください。これは、他の設定をそこに複製する必要がないことも意味します。次の内容のファイルを(ユーザールートとして)/etc/lightdm/lightdm.conf.d/xhost.conf
作成するだけです。
[SeatDefaults]
display-setup-script=xhost +
これはUbuntu 16.04.5 LTSで機能します。
Ubuntu 14.04では~/.xinitrc
は機能しませんでしたが、~/.profile
の以下は機能しました。 GUI/terminal/SSH/etc ...でログインするたびにスクリプトが実行されるので、stdout
をリダイレクトして出力を無音にします。
xhost +local: > /dev/null