Could not parse arguments не удалось открыть дисплей

Обновлено: 04.07.2024

После открытия cygwin с X все работает отлично и как и ожидалось, но через несколько часов я не могу открыть ни одну другую программу, которая требует отображения X:

от cygwin

от порожденного гнома-terminal

в остальном все работает нормально

  1. Установите последнюю версию cygwin со всеми компонентами x11
  2. запустить ssh -X $@$ -p$
  3. run gui-command (должен работать)
  4. подождите 1-2h (может быть, меньше) и попробуйте запустить приложение с графическим интерфейсом

удаленный PC работает ubuntu с openssh

Перезагрузите сервер cygwin X

Я заглянул в официальную документацию и нашел это , но это бесполезно, так как у меня, похоже, не установлено ни одного из этих программ, а описание проблем очень широкое.

Какие еще существуют обходные пути? Есть ли другие в такой же ситуации? Я сделал что-то не так? Есть ли лучшие способы использовать удаленные программы X11 на windows?

1 ответ

Используйте-Y вместо-X. У меня была такая же проблема, и это решило ее.

Похожие вопросы:

Я запускаю ImageMagick на своем Mac, который работает на Yosemite. Я только что скачал ImageMagick и пытаюсь открыть отображение логотипа, запустив его в командной строке: display logo.jpg после.

Я разрабатываю веб-приложение JSF на коробке Windows, используя Emacs в качестве редактора, но я предпочитаю использовать Emacs в среде Linux. В (несколько отдаленном) прошлом было не сложно.

запустив cygwin на windows, я могу подключать и выполнять X-приложения без дальнейших проблем просто доступ к удаленному ящику linux как к пользовательской машине ssh-Y-L. Если я сделаю то же самое.

У меня есть пакет python в Cygwin на Windows 7. Однако, набрав python -V возвращается Python 2.6.8 Это довольно низкая версия Python. Я мог бы использовать Python 3.x (предпочтительно любую самую.

Я пытаюсь открыть новый фрейм emacs, подключившись к существующему демону emacs с помощью приведенной ниже команды, но он не может открыть дисплей. Это и есть команда: emacsclient -c Выход есть: Жду.

У меня возникает ошибка всякий раз, когда я пытаюсь открыть внешний дисплей через sshing на сервер linux. Ошибка возникает в различных контекстах: freeglut (. / executable): не удалось открыть.

Я сканировал другие вопросы с похожими заголовками, но они не работали со мной. Я использую cygwin на windows 7 с его пакетом opencv, используя компилятор clang для c, когда я попробовал простую.

После запуска приложения X11 (XQuartz 2.3.6, xorg-server 1.4.2-apple56) на моем Mac (OS X 10.6.8), открытия терминала в X11 и его запуска xhost + , я перехожу на свою виртуальную машину ssh -Y Ubuntu 10.04 (работающую на VMware). Fusion). Когда я бегу gedit .bashrc (например), я получаю:

set | grep DISPLAY ничего не возвращает

Но если я ssh -Y в мою машину Ubuntu 11.04, gedit .bashrc работает. echo $DISPLAY возвращает "localhost: 10.0".

Я пытался, export DISPLAY=localhost:10.0 пока sshed в мою виртуальную машину, а затем работает gedit .bashrc , но я получаю:

Что может отличаться в конфигурации двух разных машин Ubuntu, что объясняет, почему один работает, а другой нет?

Обновление: как предложено Zoredache в комментарии ниже, я бежал sudo apt-get install xbase-clients , но у меня все еще остается та же проблема.

Есть ли в Ubuntu 10.04 соответствующие инструменты для X11? Установите клиенты xbase, если они еще не установлены. Я установил его, но все еще есть та же проблема. (См. Выше.) @jcrawfordor Вы проверили X11Forwarding на Ubuntu, и что вы xbase-clients установили, и что вы можете запускать Xapps на Mac на терминале , с которого вы устанавливаете ssh-соединение. (Убедитесь , что $DISPLAY установлен на терминале запуска SSH с . В моем случае это был только вопрос обновления версии MacOS для

Проверьте sshd_config сервера (обычно /etc/ssh/sshd_config ) и убедитесь, что опция X11Forwarding включена со строкой

Если X11Forwarding не указан, по умолчанию на компьютерах Debian, которые я могу проверить, по умолчанию нет.

После настройки другой виртуальной машины Ubuntu я обнаружил, что мне нужно установить xbase-клиенты и включить X11Forwarding. Обновите свой ответ, чтобы включить оба, и я приму его. Интересно. По крайней мере, на новой установке 10.04, которую я сделал сегодня утром, X11Forwarding был включен по умолчанию. Ребята из Ubuntu, должно быть, снова возятся с настройками по умолчанию. @DerfK, в моей системе "X11Forwarding yes" уже было там, я все еще получаю ошибку, (gedit: 8381): Gtk-WARNING **: не могу открыть дисплей: в таких случаях В Debian вам, возможно, придется установить пакет xauth, а затем снова войти в систему. Для тех, у кого есть подобные проблемы в OS X, также убедитесь, что у вас установлен XQuartz, иначе ни одно из этих исправлений не поможет. (Вопрос OP показывает, что у него есть XQuartz, так что это больше примечание для тех, у кого были такие же проблемы, как и у меня) Обратите внимание, что работа xhost + очень небезопасна и не должна использоваться! Как упоминал Стефан Рогин, злоумышленник может затем с хоста подключиться к вашей XSession, прочитать все, что вы печатаете, или даже изменить экран, который вы видите.

У меня была эта проблема при входе в Ubuntu VM из Mac OS X, а также - по некоторым причинам он не похож на «localhost» в отображаемой переменной. Так что установите IP вручную, как предлагает harrymc:

Тогда программы X11 должны быть в порядке. Не похоже, что нужно указывать ОС, что localhost и 127.0.0.1 эквивалентны, но это работает, по крайней мере.

Это сработало для меня. Есть идеи, почему localhost не работает? БИНГО! Я застрял в этой проблеме в течение некоторого времени . Я подключился по SSH и не смог запустить программы Gtk (обычный X11, как "xeyes", работал, однако). ОТОБРАЖЕНИЕ было правильно. На самом деле, разрешение «localhost» не было! Если я установлю вручную DISPLAY = 127.0.0.1: 10.0 или DISPLAY = :: 1: 10.0, это сработает. Редактирование / etc / hosts, кажется, не имеет никакого эффекта; и DNS правильно настроен (отчет о корреляции «dig localhost» и 127.0.0.1, и :: 1). Таким образом, это похоже на ошибку во всех случаях, когда разрешение DNS для соединений X11 в Gtk (gtk? gdk? glib? other?). При установке Debian для Beagle Bone Black файл / etc / host не был установлен для чтения кем-либо, кроме root. Это вызвало симптомы, о которых здесь сообщают. Сделал / etc / hosts доступным для чтения всем, и он работал нормально.

У меня была эта проблема с моим сервером CentOS KVM, мне не хватало программы "xauth".

Это помогло мне в моей минимальной установке Debian, большое спасибо!

Если у вас возникла эта проблема через некоторое время при запуске с -X arg. или просто ForwardX11 в / etc / ssh / ssh_config, затем запустите $ ssh username@hostname -Y , чтобы включить надежную пересылку X11 , не знаю точную причину, но я предполагаю, что -X срок действия некоторых функций истекает через некоторое время, возможно, для повышения безопасности.

Вот что я нашел в Интернете:

30 пользователь(ей) активно (29 пользователь(ей) просматривают Open Форум)

Участников: 0
Гостей: 30

Темы, озаглавленные бездумно и не ясно для кого, изобилующие БОЛЬШИМИ БУКВАМИ, ". " или ". ", нарушающие правила, написанные корявым русским языком, содержащие оскорбления, рекламу или клевету, написанные вне тематических разделах Форума, - будут закрываться или удаляться без специального предупреждения, а их Авторы будут удаляться или отправляться в бан! Надеемся на вашу сознательность и уважение к себе и ко всем участникам форума.
:: Правила Форума :: - - :: ББ-коды для использования на форуме ::


Технические вопросы ОС


Под рутом нечего не запускается Вниз Предыдущая тема Следующая тема Зарегистрируйтесь для создания

Не в сети

sudo nautilus
Could not parse arguments: Не удалось открыть дисплей:

sudo gedit
(gedit:16632): Gtk-WARNING **: cannot open display:

И так далее.
суся 11.4 гном

Пожалиться админу на пост
Наверх

Не в сети

Пожалиться админу на пост
Наверх

Не в сети

Пожалиться админу на пост
Наверх

Не в сети

sudo никто не отменял. kdesu и gnomesu во всех дистрах. Просто внутренние приложения kde и gnome принято запускать правильно.

Пожалиться админу на пост
Наверх

Не в сети

надо так:
sudo -i nautilus
sudo -i gedit

Пожалиться админу на пост
Наверх

Не в сети

итак, sudo в openSUSE. разработчики, как обычно, выбрали путь, отличный от других дистрибутивов, и попортили дефолтные настройки sudo.

Для того, чтобы вернуть sudo в нормальное состояние, надо привести файл /etc/sudoers в следующий вид:
Цитата:

Defaults always_set_home, shell_noargs
%wheel ALL=(root) ALL

Чтобы не вводить пароль каждый раз (не рекомендую):
Цитата:

Defaults always_set_home, shell_noargs
%wheel ALL=(root) NOPASSWD: ALL

Для фанатов безопасности (запрет sudo от рута и переключения шела):
Цитата:

Defaults always_set_home, !root_sudo
%wheel ALL=(root) ALL

Вуаля! Теперь пользователи группы wheel могут нормально использовать sudo.

P.S. у обычных пользователей в $PASS отсутствует каталог /sbin, поэтому скрипты оттуда надо запускать так:
Цитата:

Еще вариант - дописать в

/.profile (если файла нет, создайте):
Цитата:

Как запустить Kali Linux в Windows 10 (подсистема Linux) с помощью удаленного рабочего стола

Как запускать графические настольные приложения Linux из Bash Shell в Windows 10?

Сначала я установил подсистему Windows для Linux (WSL), выполнив следующие шаги, как показано здесь:

(1) Установлена ​​сборка Windows 10 Pro Insider Preview 19619.

(2) Установленный дистрибутив Ubuntu Linux.

(3) Изменена версия распространения с WSL 1 на WSL 2.

Во-вторых, чтобы включить графические настольные приложения Linux из оболочки Bash в Windows 10, я выполнил следующие шаги, как показано ниже:

(4) Я установил X-сервер, который является Xming

(5) Установлен графический редактор vim на основе GTK в качестве теста с использованием:

sudo apt-get install vim-gtk

(6) Установите мою переменную среды отображения

(7) Запустить приложение

Однако это не привело к запуску приложения, и я получил следующую ошибку:

Есть идеи, почему возникает эта ошибка?

Была та же проблема, поэтому я попробовал эти другие предложения, но в итоге сработало разрешение vcxsrv через общедоступный брандмауэр. Я знаю, что вы не используете vcxsrv, но, возможно, это та же проблема для вас.

Установите VcXsrv, затем включите общедоступный брандмауэр, как на этих рисунках. Откройте брандмауэр Защитника Windows в режиме повышенной безопасности, используя wf.msc в командной строке. Затем разрешите соединения, как на этих картинках.



Затем запустите VcXsrv из этого руководства для Windows 10 WSL2.

Запустите VcXsrv, добавив параметр -ac, или введите его в командной строке "C: \ Program Files \ VcXsrv \ vcxsrv.exe": 0 -multiwindow -clipboard -wgl -ac

Затем введите это в свой терминал WSL2

Добавляя к ответу fquinner,

Твой ДИСПЛЕЙ переменная env должна быть установлена ​​как export DISPLAY=X.X.X.X:0 использовать IP-адрес хоста Windows как WSL2 и хост Windows не находятся в одном сетевом устройстве, где X.X.X.X - IP-адрес

и ваш IP-адрес указан в resolv.conf против сервера имен ( $ cat /etc/resolv.conf )

или просто export DISPLAY='`grep nameserver /etc/resolv.conf | sed 's/nameserver //'`:0' для автоматической загрузки правильного IP-адреса. Кроме того, вы можете добавить это в .bashrc или же .zshrc (Если вы используете Zsh)

Здесь есть раздел устранения неполадок для отладки X11 на wsl2:

Переадресация портов - это не то же самое, что WSL1 - ваши службы Linux могут быть доступны через локальный хост для Windows, но обратное уже не верно.

Итак, вам нужно использовать внутренний IP-адрес вашего хоста Windows и настроить брандмауэр, чтобы разрешить сеть WSL.

Выяснилось, что теперь, чтобы заставить графический интерфейс работать (по крайней мере, когда он онлайн), вам нужно использовать свой общедоступный IP .

например должно работать следующее:


Следующие инструкции были скопированы и вставлены из статьи, которую я написал, но потерял исходное форматирование, ссылки и снимки экрана:

Источник: Как установить рабочий стол Ubuntu с графическим пользовательским интерфейсом в WSL2

sudo apt --yes install ubuntu-desktop

mkdir --parents /mnt/c/users/$username/.ubuntu/

sudo dpkg --install packages-microsoft-prod.deb

sudo apt update

sudo apt update

sudo apt install --yes dotnet-sdk-5.0

sudo apt update

sudo apt install --yes systemd-genie

echo '$USER ALL=(ALL) NOPASSWD:/usr/bin/genie' | sudo EDITOR='tee' visudo --file /etc/sudoers.d/$USER

unzip -o 9fbc8a44-circle-of-friends-web.zip

convert -resize 64x64 ./circle-of-friends-web/png/cof_orange_hex.jpg ubuntu.ico

powershell.exe -file .\04_create_shortcut.ps1

gsettings set org.gnome.desktop.screensaver lock-enabled false

Читайте также: