Так вот в чем дело, по какой-то причине теперь я не могу открывать графические приложения из терминала, что мне любопытно, так это то, что я могу запустить gedit (например) с помощью сочетания клавиш (у меня это как Ctrl + Alt + G), но из терминала у меня возникает такая ошибка:
Unable to init server: Could not connect: Connection refused`
(gedit:6690): Gtk-WARNING **: 22:38:15.851: cannot open display: 1
Я попробовал кое-что из интернета: xhost + это (если я правильно понял) для того, чтобы разрешить всем приложениям запускать графический сервер, но выводит:
xhost: unable to open display "1"
Я не знаю, почему я получаю эту ошибку, потому что еще час назад я мог запускать графические приложения из терминала. Так что любая помощь будет оценена по достоинству :)
PS: эта ошибка происходит со всеми приложениями, которые я пытался запустить из терминала
решение1
Обычно DISPLAY=:0
вместо DISPLAY=:1
этого выполните следующую команду, чтобы проверить, в этом ли проблема.
DISPLAY=:0 gedit
Если это сработает, вы можете сделать это более-менее постоянным, выполнив следующую команду:
export DISPLAY=:0
После экспорта правильной переменной DISPLAY вы сможете запускать графические приложения из терминала обычным образом:
gedit
решение2
Я нашел проблему. Проблема в том, что я отключил свой дисплейный менеджер (lightdm), потому что он не позволяет мне входить в систему (цикл входа), а я думал, что это его единственная функция.
Но когда я снова перенастроил lightdm, я смог запустить gedit из терминала без проблем, так что технически я решил свою проблему, но теперь у меня появилась другая проблема: как при загрузке Ubuntu напрямую показывать консольный вход вместо графического входа?
Но я попробую решить это позже...
В любом случае спасибо @mchid :)
решение3
Возможно ли, что вы вошли в систему под своим личным пользователем, но затем сделали что-то вроде 'su' или 'sudo su' в окне терминала? Рабочий стол тогда будет принадлежать вам, но вы пытаетесь запустить приложение как root. Вы получите эту ошибку о дисплее, потому что root не владеет дисплеем. Вы были на правильном пути с 'xhost +', но вам нужно выполнить это, прежде чем вы измените идентификаторы с помощью 'su'.