回答:
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アプリケーションを有効にするために必要でした。
Ubuntu 17.10でも同じ問題が発生しました。システムが適切に構成されていなかった可能性があります。とにかく、私の場合、私は追加しました
xhost + SI:localuser:root > /dev/null
私の~/.bashrc
ファイルの下部にあり、それは働いた。これがセキュリティリスクかどうかはわかりません。他の誰かが同じ状況にある場合に備えて、特権Xサーバーのユーザーのリストにrootを追加しても問題ないことを確信しています。
最初にターミナルで直接テストできます:
$ 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
次の内容のファイルを(ユーザーrootとして)作成するだけです。
[SeatDefaults]
display-setup-script=xhost +
これはUbuntu 16.04.5 LTSで動作します。
ファイルを編集し/etc/rc.local
(を使用sudo
)、最後のコマンド(exit 0
)の前にコマンドを追加します。