Cannot open display kali linux

How to Fix (main:30677): Gtk-WARNING **: cannot open display: ?

If you are facing this error (main:30677): Gtk-WARNING **: 05:40:47.665: cannot open display: just install Gtk+ development library, and set the display screen to 0.

Installing Gtk+ using Homebrew

If you are using a UNIX-like OS such as Mac OS X, or a Linux distribution. You can use Homebrew package manager to install Gtk+ as following.

Install Gtk+ using apt

If you are using Debian, Ubuntu, Elementary OS, Linux Mint, .. You can use this command to install Gtk+.

sudo apt-get install libgtk-3-dev 

Set DISPLAY Environment Variable

If the error persists, just run this command on terminal to set the display to the current display/monitor/screen.

If the display command fixed the error, add those lines into your .bashrc or .zshrc (according to what you are using).

if [[ -z "$DISPLAY" ]] then  DISPLAY=":0"  export DISPLAY fi 

Use X11 XQuartz on Mac

If your application still showing the same error on Mac OS, just install XQuartz from here https://www.xquartz.org and restart. Your Gtk apps will work after that.

I hope this helps. Do you recommend reading this blog post? share it!

Источник

Ошибка cannot open display в Linux

В операционной системе Linux очень жёсткий контроль полномочий для пользователей. Если пользователь не имеет прав администратора, то он не сможет сделать практически ничего дальше своей домашней папки. Но обычно графические приложения запускаются от имени рядового пользователя. Однако время от времени нужно что-то делать в графическом интерфейсе с файлами, которые не принадлежат текущему пользователю.

И тогда новички пытаются запустить нужное графическое приложение через sudo. Как правило, в таких ситуациях они получают ошибку «cannot open display :0 linux» или нечто подобное. В этой статье мы поговорим о том, что означает эта ошибка, а также как её обойти.

Что означает «cannot open display» в Linux?

Эта ошибка может выглядеть по-разному, в зависимости от приложения, которое вы будете запускать:

  • Gtk warning cannot open display :0;
  • Unable open display :0;
  • Can’t connect to display :0 No protocol specified;

И так далее. Все эти ошибки означают одно: программа не может подключиться к графической подсистеме. Чтобы понять почему это происходит, возвращаемся к тому, что было сказано в самом начале статьи — в Linux очень жёсткий контроль прав пользователей.

Читайте также:  Linux android root access

В отличие от Windows, где графический интерфейс тесно интегрирован в операционную систему, в Linux это просто ещё одна программа, запущенная от имени обычного пользователя. Эта программа — графический сервер, на данный момент чаще всего используется Xorg.

Ещё одно отличие от Windows — это то, что вы можете запустить несколько графических серверов, и они будут работать не мешая друг другу, потому что каждый из них имеет свой адрес, по которому к нему можно подключиться. Эти серверы доступны глобально во всей системе (почти), но чтобы программы знали, к какому адресу им обращаться при запуске X-сервера, для текущего пользователя создаётся переменная DISPLAY с адресом графического сервера. По умолчанию для первого сервера присваивается адрес :0, для второго :1 и так далее.

Но поскольку при запуске команды через sudo для неё создаётся новое окружение с полномочиями суперпользователя и все переменные текущего пользователя из него не доступны, то наша программа просто не знает, по какому адресу ей обращаться. Это что касается ошибки, когда в конце сообщения «can’t open display» нет нуля. Если нуль есть, значит адрес известен, но X-сервер запрещает подключение. По умолчанию X-сервер разрешает подключаться к себе только пользователю, от имени которого он запущен. А теперь давайте разберём, как обойти проблему.

Как исправить «can’t open display :0»

Начнём с того, что для запуска графических приложений от имени суперпользователя существуют специальные утилиты. Программа sudo для этого не предназначена. Изначально для таких целей использовались kdesudo в KDE и gksu в Gnome. Сейчас они считаются устаревшими и поставляются по умолчанию далеко не всегда. В Ubuntu вы можете установить gksu командой:

А затем запустить с помощью неё своё приложение:

Но надо заметить, что с дисплейным сервером Wayland эта утилита работать не будет. А полноценных альтернатив gksu не существует.

1. Использование PlicyKit

Есть утилита pkexec. Она достаточно удобная, но для каждой программы, которую вы хотите запустить с помощью неё надо создавать отдельно файл настройки. Например, чтобы запустить Nautilus, надо открыть файл ниже и добавить в него такой текст:

sudo vi /usr/share/polkit-1/actions/org.freedesktop.policykit.pkexec.policy

Это значит, что для каждого приложения нам необходимо включить параметр org.freedesktop.policykit.exec.allow_gui=true, иначе переменная DISPLAY экспортирована не будет. Теперь мы можем запустить nautilus:

Это очень неудобно для запуска новых приложений, поэтому есть ещё несколько путей. Другой вариант — вручную передать утилите нужные переменные:

pkexec env DISPLAY=$DISPLAY XAUTHORITY=$XAUTHORITY nautilus

2. Использование sudo

Можно попросить sudo передать все переменные нашего пользователя во временное окружение суперпользователя с помощью опции -E:

Читайте также:  Ape to wav linux

Тогда программа запускается.

3. Использование gvfs

Gnome Virtual Filesystem тоже позволяет получить доступ к файлам с правами администратора. Особенно если вам надо только отредактировать файл. Для этого просто добавьте в начале пути admin://. Например, так можно открыть файл /etc/group для редактирования с помощью gedit:

Смысл здесь в том, что программа запускается от имени обычного пользователя, а файл доступен ей через виртуальную файловую систему.

4. Снимаем ограничение доступа к Xorg

Обычно если переменная $XAUTHORITY содержит адрес файла аутентификации Xorg, то программа использует его для аутентификации в Xorg. Но если значение переменной не установлено, то сервер не позволит установить соединение. Например, если вы получаете ошибку подключения к Display :0, это значит, что адрес дисплейного сервера известен, но к нему нет доступа. Надо разрешить подключаться к Xorg суперпользователю. Для этого используйте команду:

Эта команда действует только до перезагрузки, чтобы сделать её постоянной, добавьте команду в конец ~/.xinitrc:

#!/bin/bash
xhost +SI:localuser:root &

Выводы

В этой статье мы рассмотрели, как исправить ошибку gtk warning «cannot open display :0» в Ubuntu или другом дистрибутиве. Как видите, это не очень сложно. А вы знаете другие пути решения? Напишите в комментариях!

Обнаружили ошибку в тексте? Сообщите мне об этом. Выделите текст с ошибкой и нажмите Ctrl+Enter.

Источник

Trying to install Kali Linux on QEMU-KVM (using virt-manager) fails on no display

enter image description here

I’m trying to install the bare metal ISO of Kali Linux on virt-manager. The iso boots to the installation menu, but choosing graphical installation fails on no display error as shown in the screenshot. Non-graphical installation works, but the disk does not boot. I’ve managed to install Ubuntu 22.04, so I believe it’s an issue that’s specific to Kali. Error when trying to install Kali (captured with OCR from a screenshot):

ga=788 initrd=/install .amd/gtk/initrd.gz --- quiet xorg-server 2:21.1.3-2+b1 Chttps://wuw.debian.org/support ) current version of pixman: 0.40.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. jarkers: (--) probed, («) from config file, (==) default setting, (++) from command line, (!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (77) unknown. (==) Log file: “vvar/log/Xorg.0.log”, Time: Thu Aug 4 20:24:27 2022 (==) Using system config directory “/usr/share/X11/xorg .conf .d" (EE) Fatal server error: (EE) no screens found (EE) (EE) Please consult the The X.Org Foundation support at http://wiki.x.org pny a3 (EE) Please also check the log file at “/var/log/Xorg.0.log” for additional information. (EE) (EE) Server terminated with error (1). Closing log file. (debconf :1572): Gtk-WARNING x: : cannot open display: :0 X.Org X Server 1.21.1.3 X Protocol Version 11, Revision 9 urrent Operating System: Linux (none) 5.16.0-kali?—amd64 #1 SMP PREEMPT Debian 5.16.18-1kali1 (2022-04-01) x86_64 Kernel] command line: BOOT_IMAGE=/install.amdvumlinuz net.ifnames=0 preseed/file=/cdrom/simple-cdd/default .preseed simple-cdd/profiles=kali,offline desktop=xfce ga=788 initrd=/install .amd/gtk/initrd.gz --- quiet xorg-server 2:21.1.3-2+b1 Chttps://wuw.debian.org/support ) urrent version of pixman: 0.40.0 Before reporting problems, check http://wiki.x.org to make sure that you have the latest version. jarkers: (--) probed, («) from config file, (==) default setting, (++) from command line, (!) notice, (II) informational, (WW) warning, (EE) error, (NI) not implemented, (77) unknown. (==) Log file: “vvar/log/Xorg.0.log"”, Time: Thu Aug 4 20:24:28 2022 (==) Using system config directory “/usr/share/X11/xorg .conf .d" (EE) Fatal server error: (EE) no screens found (EE) (EE) Please consult the The X.Org Foundation support at http://wiki.x.org pny a3 (EE) Please also check the log file at “/var/log/Xorg.0.log” for additional information. (EE) (EE) Server terminated with error (1). Closing log file. (debconf : 1597): Gtk-WARNING **: : cannot open display: :0 
  • OS: Manjaro 21.3.6
  • Kernel: 5.15.57-2
  • virt-manager version: 4.0.0
  • QEMU version: 7.0.0
  • Display server: spice
Читайте также:  Linux run ssh agent

Источник

How To Fix “Gtk-WARNING **: cannot open display:” for X program

Opening GUI Applications as root or sudo users in Linux often we see errors . Gtk-WARNING : Cannot open Display.

sudo: unable to resolve host ethicalhackx No protocol specified Failed to connect to Mir: Failed to connect to server socket: No such file or directory Unable to init server: Could not connect: Connection refused (gedit:7697): Gtk-WARNING **: cannot open display: :0

Here is simple step to solve this error by the xhost procedure

xhost+ fix

  1. Open Terminal.
  2. type xhost +
  3. Now you are able to run programs like gedit nautilus via sudo gedit and more

This xhost + allows clients to connect from any host using xhost +

The following command will disable the access control, by which you can allow clients to connect from any host.

access control disabled, clients can connect from any host

How To Enable X11 forwarding
While doing ssh use the option -X to enable X11 forwarding.

How To Enable trusted X11 forwarding, by using the -Y option,

Open GUI applications in that host

After opening ssh connection to the remote host as explained above, you can open any GUI application which will open it without any issue.

If you still get the “cannot open display” error, set the DISPLAY variable as shown below.

Note: IP is the local workstation’s IP where you want the GUI application to be displayed.

When running UXTERM or XTERM just issue

The variable will be there. Then just set it and export it.

Источник

Оцените статью
Adblock
detector