Команда работает с пользователем "heo". Но я получаю ошибку "$ su another_user; файл кошки | xclip":
No protocol specified Error: Can't open display: :0.0
У суперпользователя есть черный CLI, никакое сообщение об ошибке или текст, с xauth-командой.
Как я могу сохранить тот же дисплей со многими пользователями?
Как я могу изменить дисплей на:0 или:1 для всех пользователей?
Почему xauth-команда является черной с одним суперпользователем?
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 для, но:
$DISPLAY
к дисплею того пользователя, и $XAUTHORITY
к X авторитетным файлам того пользователя. Изучите ConsoleKit (если Вы используете его), и /var/lib/gdm
(при использовании gdm) найти, сказали вещи.Если ни одно из вышеупомянутого, то необходимо будет использовать xauth, чтобы настроить авторизацию и иметь в виду, что что-либо соединяющееся с X-сервером может сделать все виды зла, такие как часы все нажатия клавиш.
PS: $DISPLAY
относится, к которому X-серверу они зарегистрированы к. Если Вы не настроили несколько выполнений серверов (таким образом, многочисленные пользователи могут войти в систему сразу), это будет то же для всех пользователей.