Ошибка в команде “файл кошки | xclip”

Команда работает с пользователем "heo". Но я получаю ошибку "$ su another_user; файл кошки | xclip":

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

У суперпользователя есть черный CLI, никакое сообщение об ошибке или текст, с xauth-командой.

  1. Как я могу сохранить тот же дисплей со многими пользователями?

  2. Как я могу изменить дисплей на:0 или:1 для всех пользователей?

  3. Почему xauth-команда является черной с одним суперпользователем?

0
задан 28.08.2009, 14:26

1 ответ

xclip не может говорить с Вашим X-сервером. Проверьте, что $DISPLAY установлен правильно. Другие X-клиенты работают с той же установкой $DISPLAY?

Это:

$ echo 'hello' | xclip

работает просто великолепно для меня.

править

Вы получаете ошибку после su'луг другому пользователю, потому что у того пользователя нет соответствующих полномочий соединиться с Вашим X-сервером. X использования разрешение, проверяющее протокол, известный как cookie волшебства MIT, который работает путем создания случайной строки для использования в качестве пароля. Тот пароль хранится в файле $XAUTHORITY, или ~/.Xauthority если переменная среды не установлена. Этим управляют xauth инструмент. Например,

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

Я не уверен, что Вы делаете su для, но:

  • если это так, можно считать файл, то просто выполненный кошка как другой пользователь, и передает вывод по каналу su к xclip. Таким образом, xclip работает как Ваш пользователь и работы.
  • при попытке установить буфер обмена для X сессий другого пользователя, то необходимо будет установить $DISPLAY к дисплею того пользователя, и $XAUTHORITY к X авторитетным файлам того пользователя. Изучите ConsoleKit (если Вы используете его), и /var/lib/gdm (при использовании gdm) найти, сказали вещи.

Если ни одно из вышеупомянутого, то необходимо будет использовать xauth, чтобы настроить авторизацию и иметь в виду, что что-либо соединяющееся с X-сервером может сделать все виды зла, такие как часы все нажатия клавиш.

PS: $DISPLAY относится, к которому X-серверу они зарегистрированы к. Если Вы не настроили несколько выполнений серверов (таким образом, многочисленные пользователи могут войти в систему сразу), это будет то же для всех пользователей.

5
ответ дан 24.11.2019, 03:13

Теги

Похожие вопросы