К основному контенту

Две команды, чтобы Xorg-приложения работали под sudo

Пришла новая Fedora 30! А с ней некоторые графические приложения перестали запускаться под sudo. Где-то поломался GEdit, где-то не запускается установщик VMWare Remote Console (безобразный продукт), где-то фейлится рандомная фигня, которая раньше работала на 29й федоре. Почему они работали ранее вообще — интересный вопрос, ведь по-умолчанию приложениям из-под sudo, работающим на X11/Xorg, запрещён доступ к вашему графическому рабочему столу. Более технично — у root-юзера нет прав на доступ к Xorg серверу. С Wayland как-то попроще, но на вейланде сейчас один только GNOME-shell и его файловый менеджер Nautilus.

Ошибки выводятся разные, но они все говорят об интерфейсе:

# Это вылезло из установщика VMWare Remote Console
User interface initialization failed.

# Вообще, у меня большая часть приложений на основе electron
# или nw.js и их в принципе нельзя запускать под рутом,
# поэтому вот вам ошибка, возвращаемая Xeyes 👀
No protocol specified
Error: Can't open display: :0

Варнинг: прежде чем что-то выполнять под sudo, десять раз подумайте, что может натворить прога, удалив системные файлы и записав конфиги в не те директории, и что могут наделать хацкеры с вашим декстопом, пока пьёте чай. Потом всё равно выполните под судо.

Решается проблема элементарно — на время отключается контроль доступа к Xorg. Делается через команду xhost.

xhost +
# здесь идёт, сопсна, ваша команда, использующая Xorg
xhost -

Та-да-а-а!

Комментарии

Популярные сообщения из этого блога

Что делать, если Error mounting: can't read superblock

Вот такая радость меня встретила сегодня утром — дополнительный жёсткий диск в ноутбуке перестал работать. Часть прог не работает, другие не могут найти рабочие проекты. При монтировании диска через тот же Наутилус пишет: Error mounting system-managed device dev/sdb3: can't read superblock on /dev/sdb3 (udisks-error-quark, 0)

Установить Midnight Commander на Fedora, CentOS и RHEL — файловый менеджер в терминале

Волей-неволей в жизни девопса иногда приходится работать без графического интерфейса. Или же нужно сделать что-то в своей файловой системе без иксов. Midninght Commander — это файловый менеджер с терминальным интерфейсом, который схож визуально с Total Commander с его разделением на два окна. Миднайт командер также поддерживает управлению мышью, да и в общем идеален для тех, кто привык к графическим интерфейсам и боится vim -а (как я). Если ввести dnf search midnight commander , то ничего не найдётся. Всё потому, что в пакетных менеджерах называется он просто mc , а в описании полного названия нет: Устанавливается он довольно просто. Для Fedora: sudo dnf install -y mc Для RHEL/CentOS: sudo yum install -y mc И всё, можно пользоваться: mc

Как установить Steam на Fedora

Зайдя на страницу стима и нажав на кнопку "Загрузить Steam", получаем deb-пакет для Ubuntu-подобных и Debian. Спасибо, Стим, мы тебя тоже очень сильно ненавидим! Федора у меня 30-я. К счастью, стим для неё есть в UnitedRPMs, но и простой команды sudo dnf install steam будет недостаточно. Для начала установим сам репозиторий UnitedRPMs, если он у вас отсутствует: sudo dnf -y install https://github.com/UnitedRPMs/unitedrpms/releases/download/14/unitedrpms-$(rpm -E %fedora)-14.fc$(rpm -E %fedora).noarch.rpm После можно установить стим: sudo dnf -y install steam Из коробки Steam жалуется, что не может найти libva.so.1, libbz2.so.1.0, libva.so.1, libva-x11.so.1 . Это странно, но следующая команда решает проблему с библиотеками: steam --reset Всё, должно работать.