GNU/Linux >> Linux の 問題 >  >> Linux

`$xauthority`はSu+tmuxの「どこからともなく」表示されますか?

su + bashから切り替えたとき su + tmux + zsh $ XAUTHORITYを取得していることに気づきました /root/.xauthXXXXXXとして定義された変数 ここで、 XXXXXX 6つのランダムな英数字です。以前の構成では、Xはrootで問題なく動作しましたが、今度は〜username / .Xauthorityをコピーする必要があります。 $ XAUTHORITYへ 。

変数はどこにも定義されていません。 .zshrcを確認しました 、 / etc / profile * /etc/profile.d/* など

# env
TERM=screen
SHELL=/usr/bin/tmux
USER=toor
TMUX=/tmp//tmux-0/default,6495,3
PATH=/sbin:/bin:/usr/sbin:/usr/bin
PWD=/root
SHLVL=2
HOME=/root
LOGNAME=toor
DISPLAY=:0.0
XAUTHORITY=/root/.xauthUSzLl4
COLORTERM=gnome-terminal
_=/bin/env
OLDPWD=/root
EDITOR=vim
vcs_info_msg_0_=
vcs_info_msg_1_=

% echo $XAUTHORITY 
/home/mpiechotka/.Xauthority
% su 
password:
# echo $XAUTHORITY 
/root/.xauthUSzLl4
# ls $XAUTHORITY
ls: cannot access /root/.xauthUSzLl4: No such file or directory
# cat .tmux.conf 
set -g default-command /bin/zsh
set -g default-shell /bin/zsh

su su --toorにエイリアスされます tmuxが開きます シェルとして。 toorは、異なるシェルを持つルートのエイリアスです。

私はそれが通常のsuにも現れることを発見しました。しばらく前にはそうしませんでした。

set-environment 動作しませんでした。

xhost + localhost 動作しませんでしたが、 xhost + (すべての制御を無効にする)DID作業。

承認された回答:

これが私が起こっていると思うことです。

suを使用している場合 およびbash su -sessionは、 USERを除いて環境を継承します 、 HOME およびSHELL したがって、 XAUTHORITY 引き続き〜username / .Xauthorityを指します そして、すべてが大丈夫です。ただし、(マニュアルページから) tmux サーバーが起動しました:

…tmuxは環境をグローバル
環境にコピーします。さらに、各セッションにはセッション環境があります。
ウィンドウが作成されると、セッション環境とグローバル環境がマージされ、
セッション環境が両方に存在する変数をオーバーライドします。

クレデンシャルを切り替えると、 su su だと思います(呼び出しの詳細はわかりません)。 .Xauthorityを見つけようとします / root Xを実行する必要があるときに1つを見つけることができないため アプリ、それは1つを作成します。これを修正する方法をいくつか考えられます:

  1. suを呼び出します su-を使用する 。これにより、実際のユーザーの環境がコピーされます
  2. set-environment を追加します tmuxに 構成。

残念ながら、最近i3に切り替えて(これは素晴らしいです)、予備のマシンがないため、これをテストできません。


Linux
  1. Linux – Ext4パーティションでの偶発的なフォーマットからのデータ回復?

  2. いつソースからコンパイルしてインストールする必要がありますか?

  3. コマンドの完了時にペイン/ウィンドウが閉じないようにする– Tmux?

  1. Ubuntu 16.04.1を14.04からアップグレードすると、デスクトップが表示されませんか?

  2. コマンドラインからLinuxサーバーを移行するときにrsyncを高速化する

  3. lampp サーバーで php から ffmpeg を実行すると、GLIBCXX_3.4.9 が見つかりません

  1. AURからパッケージをインストールするときにコンパイルプロセスを高速化する方法

  2. ライブ CD からの起動時に起動メニューを編集する

  3. Linux では、稼働時間はいつからカウントされますか?