2012-05-21 6 views
3

我有一個主要用戶,X運行在:username1。我有另一個用戶帳戶,我在這裏做了很多工作,username2。
如何讓這個我可以從一個userame2命令的輸出複製到剪貼板username1s。複製到不同的用戶剪貼板-Xorg linux

這裏是它失敗的例子:

username2 $ echo "hello" |xclip 
    No protocol specified 
    Error: Can't open display: :0

在網上看,我發現我應該改變DISPLAY變量。
這裏是我做出這樣的轉變後得到:

username2 $ echo "hello" |xclip 
    Error: Can't open display: myws:0

在搜索時,我也看到,有可能是一些我需要用我的文件.Xauthority做;但我不熟悉它。我將繼續審查文檔。

任何意見,將不勝感激。

回答

0

能夠編寫到另一個用戶剪貼板將是一個巨大的安全問題。幸運的是,我們可以信任一個用戶(或者至少我們應該),根。所以假設你的僅限shell的用戶(username2)具有root權限(比如sudo)。

username2 $ export DISPLAY=:0 
username2 $ export XAUTHORITY=/home/username1/.Xauthority 
username2 $ echo "hello" | sudo xclip 

我們爲了告訴X我們正在處理的屏幕USERNAME2的DISPLAY變量設置爲:0。如果你的用戶名1,你可以簡單地echo $DISPLAY看到的價值,如果你沒有,那麼你可以運行命令控制wwho看到的價值。

接下來我們設置XAUTHORITY=/home/username1/.Xauthority來處理所有的授權/安全廢話。現在USERNAME2無法讀取此變量,但根一定能(或會USERNAME1 chmod a+r ~/.Xauthority給大家讀存取)。

注:測試的庫存Ubuntu 12.04 LTS