Xterm на raspberry-pi для Xming в Windows

#raspberry-pi #xterm #xming

#raspberry-pi #xterm #xming

Вопрос:

У меня есть raspberry-pi. Я настроил его так, чтобы я мог подключиться к нему по ssh с помощью putty со своего компьютера с Windows. У меня есть кодовые блоки, установленные на raspberry-pi. Я хотел бы иметь возможность открывать и отображать ide codeblocks на моем компьютере с Windows из pi. У меня установлен xterm (-v 278) на моем pi, а Xming установлен на моем компьютере с Windows.

На моем компьютере с Windows откройте Xlauch, чтобы начать Xming, я оставляю значения по умолчанию, но отключаю контроль доступа. Затем на моем компьютере с Windows я открываю putty для ssh в свой pi с включенной переадресацией X для этого сеанса. После входа в систему на pi я набираю

 $ export DISPLAY="<windows_machine_ip>:0.0
  

$ xterm DISPLAY

затем я получаю сообщение
xterm: для оболочки не найден абсолютный путь: ОТОБРАЖЕНИЕ

Я действительно смущен, почему я получаю это сообщение. Кто-нибудь знает исправление или может объяснить, что я делаю неправильно. Заранее спасибо.

Ответ №1:

Вам не нужно так отображать аргумент после xterm. Достаточно установить и экспортировать отображение переменной среды (как в вашей первой команде).

Краткое описание xterm таково:

 xterm [-toolkitoption ...] [-option ...] [shell]
  

Итак, когда вы вводите это:

 xterm DISPLAY
  

он интерпретирует слово DISPLAY как имя оболочки, которую вы хотите использовать — таким образом, сообщение об ошибке No absolute path found for shell: DISPLAY .

Короче говоря, все, что вам нужно было ввести, это:

 $ export DISPLAY="<windows_machine_ip>:0.0
$ xterm amp;
  

Я рекомендую поставить «amp;» в конце, так как это запускает xterm в фоновом режиме и возвращает вашу исходную оболочку, чтобы вы могли вводить дополнительные команды, если хотите.

Поскольку вы используете PuTTY, еще более простой способ — использовать встроенную переадресацию X11.

Настройте Putty для пересылки X11

В разделе Подключение-> SSH-> X11 установите флажок «включить переадресацию X11» перед началом сеанса. После этого, как только соединение будет открыто, просто введите xterm amp; или любую другую команду X.

Обратите внимание, что при использовании переадресации SSH X11 вам не нужно устанавливать переменную DISPLAY. Он будет автоматически установлен при входе в систему на значение, такое как localhost:10.0 . Это означает, что демон sshd притворяется X-сервером с дисплеем # 10, тогда как на самом деле он перенаправляет все соединения на ваш локальный компьютер, где они достигают реального X-сервера.

Комментарии:

1. Я уже включил переадресацию X11 в putty. Я изменил свой второй cmd на «xterm amp;», и я все еще получаю сообщение об ошибке. В нем говорится: «ошибка xterm: Xt: не удается открыть дисплей: <my_ip: 0.0>

2. При использовании переадресации ssh X11 вы не устанавливаете переменную отображения вручную. Он будет установлен автоматически в процессе входа в систему sshd. Вы можете подтвердить это, выполнив echo $DISPLAY сразу после входа в систему. Это будет localhost:10.0 или что-то в этом роде.

3. Хорошо, я подтвердил, что сразу после входа в систему cmd echo $DISPLAY возвращает localhost:10.0

4. Правильно, поэтому, предполагая, что у вас запущен Xming на компьютере с Windows, просто запустите xterm. Если он все еще не запускается, я бы заподозрил, что Xming настроен неправильно.