Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
复制到不同的用户剪贴板-Xorg linux_Linux_Clipboard_Xorg - Fatal编程技术网

复制到不同的用户剪贴板-Xorg linux

复制到不同的用户剪贴板-Xorg linux,linux,clipboard,xorg,Linux,Clipboard,Xorg,我有一个X运行的主用户:username1。我有另一个用户帐户,我在其中做了很多工作,username2。 如何将命令的输出从userame2复制到username1s的剪贴板中 以下是it失败的一个例子: username2 $ echo "hello" |xclip No protocol specified Error: Can't open display: :0 通过联机查看,我发现应该更改显示变量。 以下是我在做出更改后得到的结果: username2 $ echo

我有一个X运行的主用户:username1。我有另一个用户帐户,我在其中做了很多工作,username2。
如何将命令的输出从userame2复制到username1s的剪贴板中

以下是it失败的一个例子:
username2 $ echo "hello" |xclip
    No protocol specified
    Error: Can't open display: :0

通过联机查看,我发现应该更改显示变量。
以下是我在做出更改后得到的结果:
username2 $ echo "hello" |xclip
    Error: Can't open display: myws:0

搜索时,我还发现可能需要对我的.Xauthority文件执行某些操作;但是我对它不熟悉。我将继续审查文件


如有任何建议,将不胜感激

能够写入另一个用户的剪贴板将是一个巨大的安全问题。幸运的是,我们可以信任(或者至少应该信任)一个用户root。因此,假设您的纯shell用户(username2)具有root权限(如sudo)

我们将username2的
显示
变量设置为
:0
,以便告诉X我们正在处理的屏幕。如果您有用户名1的控制权,您可以简单地
echo$DISPLAY
查看值,如果没有,则可以运行命令
w
who
查看值

接下来,我们设置
XAUTHORITY=/home/username1/.XAUTHORITY
来处理所有那些授权/安全方面的废话。现在username2不能读取这个变量,但是root肯定可以(或者username1可以
chmod a+r~/.Xauthority
为每个人提供读取权限)

注:在库存Ubuntu12.04 LTS上测试

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