Emacs запускає графічний інтерфейс лише тоді, коли не судо


0

Я встановив emacs з центру програмного забезпечення ubuntu, і все, здається, працює нормально, за винятком sudo emacsякого замість запуску версії gui, видає помилку, No protocol specified Display :0 unavailable, simulating -nwа потім працює в терміналі.

використання emacs(без входу sudo) Я не бачу такої помилки, версія gui працює нормально, але розширення, які я хочу використати, блокуються дозволами.

Я використовую ubuntu 17.10 свіжу установку з усіма оновленнями.

Я спробував використовувати, emacs -d localhost:0.0але це дає помилкуDisplay localhost:0.0 can't be opened

Відповіді:


1

Ваша помилка

Це не є специфічним для emacs. Проблема полягає в тому, що ваш некоріозний користувач виконує X, який не дає дозволу вашому користувачу root. Спробуйте, sudo xtermі ви отримаєте ту ж помилку.

На це питання відповіли Unix двічі:

Emacs може зробити краще!

Однак зауважте, що користувач Emacs не запускає Emacs під sudo, а судо під Emacs / Tramp .

Дивіться детальну відповідь ТА .


Мені вдалося виправити свою проблему, використовуючи xhost si:localuser:rootпоради в коментарі Карла Ріхтера тут . Я не бачу цього на сторінці, яку ви пов’язували, тому я не можу остаточно сказати, що те, що ви запропонували, здійснить те саме - але, можливо, ви могли б розширити свою відповідь, щоб сказати, чому вони / не є рівнозначними?
Небесний вогонь

на жаль, я знаходжу це рішення зникає після перезавантаження. Я спробував пропозиції .Xauthority, але жодна з цих не працює, намагаючись sudo xauth generate :0 . trustedстворити належну. Тож тим часом я просто додаю xhost si:localuser:root > /dev/nullдо свого.bashrc
вогню

@skyfire: Я закликаю вас використовувати Emacs / Tramp.
sds
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.