Error en el comando "archivo cat | xclip "

0

El comando funciona con el usuario "heo". Pero recibo el error por "$ su another_user; cat file | xclip":

No protocol specified Error: Can't open display: :0.0

Un superusuario tiene CLI negra, sin mensaje de error o texto, con el comando xauth.

  1. ¿Cómo puedo mantener la misma pantalla con muchos usuarios?

  2. ¿Cómo puedo cambiar la pantalla a: 0 o: 1 para todos los usuarios?

  3. ¿Por qué el comando xauth es negro con un superusuario?


fuente
Y ahora, he actualizado la respuesta.
derobert

Respuestas:

5

xclip no puede hablar con su servidor X. Verifique que $ DISPLAY esté configurado correctamente. ¿Otros clientes X trabajan con la misma configuración $ DISPLAY?

Esta:

$ echo 'hello' | xclip

funciona bien para mí

editar

Obtiene el error después de acceder sua otro usuario porque ese usuario no tiene los permisos adecuados para conectarse a su servidor X. X usa un protocolo de verificación de permisos conocido como MIT magic cookie, que funciona creando una cadena aleatoria para usar como contraseña. Esa contraseña se almacena en el archivo $XAUTHORITYo ~/.Xauthoritysi la variable de entorno no está establecida. Es manipulado por la xauthherramienta. Por ejemplo,

$ xauth list
…
Feynman/unix:0  MIT-MAGIC-COOKIE-1  <<redacted>>
…

No estoy seguro de para qué estás haciendo el su, pero:

  • si es así, puede leer el archivo, simplemente ejecute el gato como el otro usuario y canalice la salida de su a xclip. De esta manera, xclip se ejecuta como su usuario y funciona.
  • si está intentando configurar el portapapeles para la sesión X de otro usuario, deberá configurarlo $DISPLAYen la pantalla $XAUTHORITYde ese usuario y en el archivo de autoridad X de ese usuario. Mire en ConsoleKit (si lo está usando) y /var/lib/gdm(si está usando gdm) para encontrar dichas cosas.

Si nada de lo anterior, tendrá que usar xauth para configurar la autorización, y tenga en cuenta que cualquier cosa que se conecte a su servidor X puede hacer todo tipo de maldad, como ver todas las pulsaciones de teclas.

PD: se $DISPLAYrefiere al servidor X en el que están conectados. A menos que haya configurado varios servidores en ejecución (por lo que varios usuarios pueden iniciar sesión a la vez), será lo mismo para todos los usuarios.

derobert
fuente
Cuando abre un terminal y ejecuta xauth list, ¿qué mensajes de error recibe?
derobert
0

Ampliando la otra respuesta, el usuario "sudo" no puede usar la sesión o pantalla X del usuario no privilegiado. Una solución alternativa podría ser usar su -c.

$ sudo su # echo 'hello' | su -c 'xclip -selection clipboard' nonprivusername

ILMostro_7
fuente