#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.
В разделе Подключение-> 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 настроен неправильно.