Рейтинг:0

TigerVNC дает черный экран при запуске по сценарию

флаг mm

ВОПРОС

Я установил серверное программное обеспечение TigerVNC на гостевую машину Ubuntu 18.04, работающую на VMware Workstation.

Я могу подключиться к гостевой машине через VNC (т. е. использовать программу просмотра VNC) после ручного выполнения следующей строки либо в Терминале, либо в Xterm (гостевой машины):

vncserver: 1 -localhost нет -геометрия 980x700 -глубина 32

Но выполнение той же строки в сценарии, как показано ниже, дает мне только черный экран в средстве просмотра VNC с точкой вместо курсора.

#!/бин/баш
vncserver: 1 -localhost нет -геометрия 980x700 -глубина 32

Что мне нужно сделать со сценарием, чтобы он заработал (дайте мне правильный экран VNC)?

ЗАДНИЙ ПЛАН

Я новичок как в Ubuntu, так и на этом сайте. Если я упускаю соответствующую информацию, сообщите мне, что это такое, и я обновлю вопрос с ней. На данный момент я могу думать о следующем.

Не все сценарии вызывают у меня проблемы. Например, я отлично использую следующее (чтобы смонтировать в гостевой системе Ubuntu общую папку компьютера с Windows).

#!/бин/баш
sudo mount -t cifs -o username=tom,uid=1000,gid=1000 //192.168.0.17/d /home/loom/mnt/summer_d

Однако следующее (предназначенное для монтирования жесткого диска) не работает, и я должен вручную выполнить судо строку в Терминале или Xterm.

#!/бин/баш
sudo mount /dev/sdb1 /home/loom/hdd/hdd5 -o uid=1000,gid=1000,utf8,dmask=027,fmask=137

Когда я выполняю вручную, я делаю это из того же каталога, в котором находятся сценарии; так что это не кажется проблемой.

Когда я дважды щелкаю скрипт, он загружается в Xterm.

Бег эхо $SHELL либо в Терминале, либо в Xterm дает мне /бин/баш.

Как видите, у меня общая проблема: скрипты работают ненадежно.

Поскольку я вижу, что строка скрипта she-bang подает другие строки в конкретную оболочку, а другие строки - как ввод того, что у меня может быть вручную, я не понимаю, почему одна и та же строка должна работать или не работать в зависимости от того, как они вводится (вручную или через скрипт).

Отличный ответ показал бы мне, как решить конкретную проблему с VNC, и дал бы общее объяснение того, что я могу делать неправильно в этих скриптах. Спасибо.

Рейтинг:1
флаг us

куда вы положили скрипты, о которых идет речь? Они должны находиться в каталоге, который является частью переменных окружения $PATH вашего компьютера. Вы можете найти его с помощью этой команды

 эхо $PATH

который должен вернуть что-то вроде этого

эхо $PATH /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

и если они находятся в одной из этих папок, вы также должны проверить, являются ли ваши сценарии исполняемыми.

Если это не так, вам нужно перейти в папку, открыть терминал и запустить

sudo chmod +x имя_скрипта
Catomic avatar
флаг mm
Спасибо. Я пытался. Я не могу переместить или скопировать любой скрипт в любой каталог в $PATH. Возможно, мне придется получить разрешение или попробовать как суперпользователя? В любом случае, в текущем местоположении есть много скриптов, которые отлично работают. Как они могут работать, не находясь в каталоге $PATH?
lejurassien avatar
флаг us
`sudo mv /the_script/the_destination`, а также проверьте, являются ли они исполняемыми, а также пользователя и группу.
lejurassien avatar
флаг us
Я выбираю другое решение для запуска x11vnc. Использование меню приложений при запуске и добавление запуска x11vnc с этим [Имгур1](https://i.imgur.com/NcONDOR.jpg) [Имгур2](https://i.imgur.com/u9uYJ9i.jpg) и убедитесь, что сессия не блокируется иначе будет черный экран с точкой, что напоминает мне о вашей проблеме, смотрите внимательно, что ваша сессия не блокируется
Catomic avatar
флаг mm
Я сделал две вещи (`mv` в папку $PATH и `chmod`), и результат: сценарий монтирования жесткого диска работает, но сценарий VNC все еще дает мне черный экран. Ваш ответ очень ценен для меня из-за первого сценария. Спасибо. Я опубликую еще один вопрос о том, как включить каталог в $PATH (чтобы он служил хранилищем для скриптов) и могу ли я установить каталог таким образом, чтобы любой создаваемый в нем скрипт уже имел статус `chmod +w`. Возможно, вы тоже поинтересуетесь новым вопросом.
lejurassien avatar
флаг us
Извините за задержку, поэтому, чтобы добавить каталог в $PATH, просто запустите эту команду `export PATH=/home/catomic/work:$PATH`, конечно, адрес может быть любым, который вы хотите /bin/my-scripts, который даст `экспорт PATH=/bin/my-scripts:$PATH` И обычно скрипты, которые вы поместите в этот каталог, будут выполняться, если у вас есть хорошие права на каталог и скрипты. Я надеюсь, это то, о чем вы спрашиваете, мой английский так плох
lejurassien avatar
флаг us
Но есть еще одна вещь, она не является постоянной, то есть при перезагрузке добавленный путь исчезнет, ​​так что он станет постоянным после того, как тесты будут окончательными, необходимо отредактировать .bashrc или .profile. Я ставлю вам ссылку, которая объясняет все это и на вашем языке https://www.howtogeek.com/658904/how-to-add-a-directory-to-your-path-in-linux/

Ответить или комментировать

Большинство людей не понимают, что склонность к познанию нового открывает путь к обучению и улучшает межличностные связи. В исследованиях Элисон, например, хотя люди могли точно вспомнить, сколько вопросов было задано в их разговорах, они не чувствовали интуитивно связи между вопросами и симпатиями. В четырех исследованиях, в которых участники сами участвовали в разговорах или читали стенограммы чужих разговоров, люди, как правило, не осознавали, что задаваемый вопрос повлияет — или повлиял — на уровень дружбы между собеседниками.