Ma c терминал говорит: «Не удается открыть дисплей ... прерывание» - PullRequest
1 голос
/ 17 января 2020

Когда я использую XFoil (для Ma c, установлен XQuartz) и пытаюсь что-то нарисовать, появляется указанное выше сообщение. Другое дело, что я использовал инструкции по следующей ссылке для установки Gnuplot, и я боюсь, что нанес некоторый ущерб ... с этим все в порядке? http://macappstore.org/gnuplot/

Ответы [ 3 ]

1 голос
/ 18 января 2020

Пожалуйста, попробуйте использовать

export DISPLAY=:0.0

внутри оболочки, поэтому GNUplot знает, что ему следует использовать стандартный дисплей (т. Е. Вашу среду XQuartz)

0 голосов
/ 06 марта 2020

На MA C установите Xquartz и убедитесь, что он работает после вашей попытки запустить приложение X.

pgrep -fl Xquartz покажет все процессы и их аргументы, соответствующие Xquartz.

Если у вас нет pgrep, вместо этого запустите /bin/ps -o 'pid,command' -e | grep Xquartz.

Найдите запись для самого исполняемого файла с набором отображения; что-то вроде этого:

1182 /opt/X11/bin/Xquartz :0 -nolisten tcp -iglx -auth ...

Первое число - это идентификатор процесса или PID. Если вы подождете 20-30 секунд и повторно запустите команду, убедитесь, что число совпадает.

Если PID изменился, у вас возникла проблема, с которой я столкнулся, когда Xquartz завершает работу с ошибкой и система перезапускает его снова, всякий раз, когда я пытался запустить xterm.

Чтобы проверить журналы на наличие ошибок, запустите консольное приложение, которое находится в / Applications / Utilities. В поле поиска введите Xquartz и нажмите клавишу возврата, и вы должны увидеть только записи Xquartz.

Журнал ошибок, который я видел, был:

tput: No value for $TERM and no -T specified
   -: line 0: exec: uid=501(...): not found

После некоторого исследования я решил, что все, что мне нужно было сделать, это установить TERM до запуска X-сервера, и это можно сделать только в файле .x11run, созданном в вашем домашнем каталоге.

Создать ~ / .x11run со следующим содержимым :

#!/bin/bash

export TERM=xterm-256color
# include other vars the X11 server may need
/Applications/Utilities/XQuartz.app/Contents/MacOS/X11.bin "${@}"

Затем сделайте его исполняемым: chmod +x ~/.x11run.

Далее выйдите из системы (значок Apple в левом верхнем углу, нажмите «Выйти»), а затем снова войдите в систему и попробуйте приложение, в моем случае, xterm, и через несколько секунд оно наконец появилось.

0 голосов
/ 15 февраля 2020

Сначала необходимо установить xserver . На MA C вы бы использовали XQuartz . Вам необходимо скачать и установить XQuartz и изнутри XQuartz (щелкнуть правой кнопкой мыши на lo go после запуска) запустить терминал. В этом терминале перейдите к месту, где установлен xfoil , и запустите его. Переменная DISPLAY (как показано в другом ответе) автоматически устанавливается в этом терминале. Поэтому нет необходимости делать это, если вы запускаете, как описано здесь.

Для установки xfoil (macOS Catalina) мне пришлось скомпилировать код. Я следовал этим инструкциям , который работал как заклинание.

...