2017-01-19 4 views
1

私は揺れのコンポジタを使用しています。linuxウェインランド表示マルチユーザ

私はコンソールでユーザーを変更すると、私はウェイランドグラフィックインターフェース(これは、Xアプリケーションと連携)

$ su - otherUser 
$ ./myApplicationWayland 
error: XDG_RUNTIME_DIR not set in the environment 

を表示することができない、私はそれを設定します(他のユーザから取得)

$ export XDG_RUNTIME_DIR=/run/user/1000 
$ export WAYLAND_DISPLAY=wayland-0 
$ ./myApplicationWayland 
Assert ... It cannot create the "display" 
メインユーザーで

$ ls -l /run/user/1000 
total 0 
srw-rw-rw- 1 edupin edupin 0 Jan 23 08:14 bus 
drwx------ 2 edupin edupin 60 Jan 26 13:25 dconf 
dr-x------ 2 edupin edupin 0 Jan 23 08:15 gvfs 
drwx------ 2 edupin edupin 80 Jan 26 14:31 pulse 
srwxr-xr-x 1 edupin edupin 0 Jan 23 08:14 sway-ipc.1000.645.sock 
drwxr-xr-x 3 edupin edupin 100 Jan 23 08:14 systemd 
srwxr-xr-x 1 edupin edupin 0 Jan 23 08:14 wayland-0 
-rw-r----- 1 edupin edupin 0 Jan 23 08:14 wayland-0.lock 

私が行います

chmod -R g+rwx /run/user/1000 

私が呼ぶとき、ウェイランドの接続が失敗:

wl_display_connect(nullptr); 

これは単に権利の問題です

答えて

0

ありがとうございます。他のユーザーはpath/run/user/XXXにアクセスできないので、他のユーザーは "other"権利のwayland sockerイベントにアクセスしてポイントを得ることができません。

溶液(悪い方法が、速い)(ユーザーIDとXXXを置き換え):第二のユーザに

chmod -R 777 /run/user/XXXX 

:揺れを実行するユーザーには

export XDG_RUNTIME_DIR=/run/user/XXXX 

他の方法(これより優れていますが、あまり良いことではありません)

:他のすべてのユーザーの編集「の.bashrc 『で

# specify a path to create the wayland IO and force it to be readable for each user in group "users" 
export XDG_RUNTIME_DIR=/tmp/wayland 
export WAYLAND_DISPLAY=wayland-0 
# create default directory 
mkdir -p $XDG_RUNTIME_DIR 
chgrp users $XDG_RUNTIME_DIR 
chmod g+rwx $XDG_RUNTIME_DIR 
# at the first run of the terminal ==> the other user have acces on it (many time use terminal to change user) 
chgrp users $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY 
chmod g+rwx $XDG_RUNTIME_DIR/$WAYLAND_DISPLAY 

:ウェイランドのコンポジ編集』の.bashrc」を提供し、ユーザーは、グループ内のすべてのユーザー「ユーザー」

を設定する

:あなたは、デフォルトではウェイランドのすべてのバックエンドを、すべてのアプリケーションの起動が必要な場合
export XDG_RUNTIME_DIR=/tmp/wayland 
export WAYLAND_DISPLAY=wayland-0 

+0

こんにちは、私は一緒にいくつかのトラブルがあった。私が理解できなかったことがいくつかありましたが、あなたが揺れているユーザーはどういう意味ですか?それはあなたがログインしている現在のユーザーアカウントですか?また、XXXをユーザーIDに置き換えてください。それはどのユーザーですか? – thebunnyrules

+0

XXXはユーザーIDを表し、最初に作成するのは1000です(インストールに応じて、ユーザーIDを取得するにはコンソールに「ID」と書いてください) XXXは2つのケースで同じです。 waylandサービスを実行するユーザー。 –

+0

ああ、私は、お返事ありがとうございます。私はそれを行ってあげるよ。 – thebunnyrules

関連する問題