Як запустити startx як некореневий?


10

Нещодавно я перейшов з Ubuntu на Arch Linux. Я встановив X11 як свою віконну систему та KDE як середовище робочого столу. Я окремий розділ для /home, /var, /і /bootта все вони монтувати під час завантаження. Коли я запускаю startx, з'являється таке повідомлення.

xauth:timeout in locking authority file /home/hello/.Xauthority

Випадково я видалив цей файл. Отже, я скопіював це /root. Я змінив свої повноваження, використовуючи код нижче:

# chown hello:users ~/.Xauthority

Навіть після цього я не можу запуститись, startxякщо не використовую root-акаунт.


Копіювання файлу є ризиком для безпеки. Ви змінили його дозволи (права власності), а не повноваження.
ctrl-alt-delor

(Re) перемістіть ~ / .Xauthority та повторіть startxспробу. Це працює? Якщо ні, точне повідомлення про помилку?
Adaephon

Відповіді:


11

Спочатку уточнення, Xце НЕ віконний менеджер , це віконна система .

Тепер ~/.Xauthorityфайл просто там, де Xзберігаються ідентифікаційні дані для сеансу поточного користувача , це файл, який читається, коли системі потрібно визначити, чи маєте ви право використовувати поточний Xсеанс.

Ніколи не слід копіювати існуючий з іншого облікового запису, файл завжди повинен належати користувачеві, який працює, Xі створюється автоматично при запуску нового Xсеансу. Отже, просто видаліть наявну, а потім запустіть startxзнову, все має працювати як нормально:

$ rm ~/.Xauthority; startx

Tredon, навіть після видалення файлу .Xauthority. Я не в змозі starx. Він продовжує відображати ту саму помилку.
Хабі

@Habi вам потрібно переконатися, що немає запущених X сеансів, потім видаліть файл, а потім запустіть startxще раз.
тердон

Тепер X працює, але відображається інше повідомлення Виклик до Inusertemp не вдався (тимчасові каталоги заповнені?). Перевірте свою установку.
Хабі

@Habi ах, добре, ось прогрес :). Будь ласка, поставте ще одне запитання щодо цього, оскільки це зовсім інша проблема. У новому питанні покажіть нам результати df -hта переконайтесь, що ця проблема все ще існує після перезавантаження.
тердон

Тредоне, я буду враховувати цей прогрес. :). Btw, спасибі
Хабі

3

Я думаю, що проблема полягає в тому, що люди входять як root, а потім перемикають користувачів на використання su -l username, що створює / породжує підпроцес під коренем, що належить "username". X використовуватиме .Xauthorityверхній процес (у цьому випадку корінь), який "ім'я користувача" не має дозволу на використання.

Помилка буде показана:

Cannot open virtual console 1 (Permission denied).

Щоб вирішити це, просто запустіть loginзамість того, suщоб запустити нову оболонку як верхній процес.


0

Я стикався з цим на Lenovo IdeaPad з двома графічними картами, одну від Intel, іншу від Nvidia.

Помилка внаслідок startxвключеного цього рядка:

Не вдалося додати екран екрана / screeninit для драйвера 0 кде плазми

Це було рішення:

  1. Змінити /etc/mkinitcpio.conf, додавшиMODULES=(nouveau)
  2. sudo mkinitcpio -p linux
  3. перезавантажити
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.