Забываем про RDP и используем сервера Linux с графическим окружением

DEAd

Новорег
Сообщения
57
Реакции
44
Баллы
29
#проверялось на debian и ubuntu и kali. Все что начинается с # вбивать не нужно в терминал. После подключения к серверу по ssh, вводим последовательно

apt update
apt upgrade
adduser userX

#где userX - имя нового пользователя

usermod -aG sudo userX

#добавили пользователя userX в группу sudo

su userX

#переключились на userX

sudo tasksel

#выбираем desktop environment в данном случае на примере xfce4 и устанавливаем его

#ставим vnc сервер

sudo apt install tigervnc-standalone-server tigervnc-common

#запускаем и задаем пароль на vnc
vncserver

#убиваем сервер vnc

vncserver -kill :1

#с помощью следующей команды можно задать desktop environment по умолчанию, если вы установили их несколько, а также просмотреть правильный вызов нужного DE, который мы указываем далее в созданном файле xstartup для нашего vnc сеанса.
Сейчас можно пропустить эту команду:

sudo update-alternatives --config x-session-manager

#и сразу перейти к созданию xstartup

nano ~/.vnc/xstartup

#В него вставляем нижележащий текст, обратите внимание, что #!/bin/sh также необходимо прописать

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4

#команда exec startxfce4 запускает DE xfce4, если выбираете другое окружение, смотрите правильный вызов через
sudo update-alternatives --config x-session-manager и вставляйте вместо xfce4

#делаем xstartup исполняемым

chmod u+x ~/.vnc/xstartup

#запускаем vnc

vncserver

#команда vncserver -status отобразит статус процесса vncserver

#выходим из ssh, потом подключаемся с переадресацией порта

ssh -L 5901:127.0.0.1:5901 -C [email protected]

#где 111.111.11.11 - IP нашего сервера. vnc сервер запущен на IP локалхоста 127.0.0.1 порта 5901 без выхода в сеть. Таким образом мы пропустили не зашифрованный vnc через зашифрованный ssh. -C -параметр для сжатия передаваемых данных, если пинг нормальный, можно убрать.
Дальше запускаем какой либо vnc viewer, в настройках указываем адрес 127.0.0.1 и порт 5901. Всё готово и вы должны подключиться к своему linux серверу с графическим оформлением.
Какие процессы на каком порту висят, можно узнать через

netstat -nltp

#Если все работает, прикручиваем vnc к systemd, для того, чтобы не нужно было после перезагрузки сервера, запускать vnc вручную. Имейте ввиду, что это не обязательно и после перезагрузки достаточно будет подключиться по ssh и запустить vnc командой vncserver

#создаем файл

sudo nano /etc/systemd/system/[email protected]

#вставляем текст. параметр -geometry указывает на разрешение vnc сервера, можно указать нужное для себя

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=userX
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target

#далее вбиваем последовательно команды

sudo systemctl daemon-reload
sudo systemctl enable [email protected]
sudo systemctl start [email protected]
sudo systemctl status [email protected]
 
#проверялось на debian и ubuntu и kali. Все что начинается с # вбивать не нужно в терминал. После подключения к серверу по ssh, вводим последовательно

apt update
apt upgrade
adduser userX

#где userX - имя нового пользователя

usermod -aG sudo userX

#добавили пользователя userX в группу sudo

su userX

#переключились на userX

sudo tasksel

#выбираем desktop environment в данном случае на примере xfce4 и устанавливаем его

#ставим vnc сервер

sudo apt install tigervnc-standalone-server tigervnc-common

#запускаем и задаем пароль на vnc
vncserver

#убиваем сервер vnc

vncserver -kill :1

#с помощью следующей команды можно задать desktop environment по умолчанию, если вы установили их несколько, а также просмотреть правильный вызов нужного DE, который мы указываем далее в созданном файле xstartup для нашего vnc сеанса.
Сейчас можно пропустить эту команду:

sudo update-alternatives --config x-session-manager

#и сразу перейти к созданию xstartup

nano ~/.vnc/xstartup

#В него вставляем нижележащий текст, обратите внимание, что #!/bin/sh также необходимо прописать

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4

#команда exec startxfce4 запускает DE xfce4, если выбираете другое окружение, смотрите правильный вызов через
sudo update-alternatives --config x-session-manager и вставляйте вместо xfce4

#делаем xstartup исполняемым

chmod u+x ~/.vnc/xstartup

#запускаем vnc

vncserver

#команда vncserver -status отобразит статус процесса vncserver

#выходим из ssh, потом подключаемся с переадресацией порта

ssh -L 5901:127.0.0.1:5901 -C [email protected]

#где 111.111.11.11 - IP нашего сервера. vnc сервер запущен на IP локалхоста 127.0.0.1 порта 5901 без выхода в сеть. Таким образом мы пропустили не зашифрованный vnc через зашифрованный ssh. -C -параметр для сжатия передаваемых данных, если пинг нормальный, можно убрать.
Дальше запускаем какой либо vnc viewer, в настройках указываем адрес 127.0.0.1 и порт 5901. Всё готово и вы должны подключиться к своему linux серверу с графическим оформлением.
Какие процессы на каком порту висят, можно узнать через

netstat -nltp

#Если все работает, прикручиваем vnc к systemd, для того, чтобы не нужно было после перезагрузки сервера, запускать vnc вручную. Имейте ввиду, что это не обязательно и после перезагрузки достаточно будет подключиться по ssh и запустить vnc командой vncserver

#создаем файл

sudo nano /etc/systemd/system/[email protected]

#вставляем текст. параметр -geometry указывает на разрешение vnc сервера, можно указать нужное для себя

[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=simple
User=userX
PAMName=login
PIDFile=/home/%u/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill :%i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver :%i -geometry 1440x900 -alwaysshared -fg
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target

#далее вбиваем последовательно команды

sudo systemctl daemon-reload
sudo systemctl enable [email protected]
sudo systemctl start [email protected]
sudo systemctl status [email protected]
Не надо забывать про RDP, надо просто расширять круг используемых инструментов.
 
Кому-то может понадобиться RDP для доступа к Windows, при этом хотелось бы иметь возможность использовать как VNC так и RDP, а ещё вменяемый GUI интерфейс.
Установите Remmina и не пугайте обычных пользователей, сложными манипуляциями с конфигурационными файлами.
 
  • Знатно
Реакции: Ilms
Кому-то может понадобиться RDP для доступа к Windows, при этом хотелось бы иметь возможность использовать как VNC так и RDP, а ещё вменяемый GUI интерфейс.
Установите Remmina и не пугайте обычных пользователей, сложными манипуляциями с конфигурационными файлами.
А Remmina здесь причём? Это клиент же. Я привёл настройку VNC сервера на самом сервере! А клиенты вы какие хотите такие и используйте. RDP сервер поднимать на Linux машине не вижу смысла, всё тормозит и в багах. Windows думаю не всем актуален в связи со спецификой форума, но вы то можете что хотите использовать...
 
А Remmina здесь причём? Это клиент же. Я привёл настройку VNC сервера на самом сервере! А клиенты вы какие хотите такие и используйте. RDP сервер поднимать на Linux машине не вижу смысла, всё тормозит и в багах. Windows думаю не всем актуален в связи со спецификой форума, но вы то можете что хотите использовать...
Назначение вашего материала понятно, но вы забыли показать нашим обычным пользователям, как в итоге подключиться к этому серверу. Копипастить то что есть в излишке в свободном доступе не совсем то что нужно здесь. Читателям нужен готовый результат, а не один из способов поднять vnc на сервере с помощью ковыряния файлов конфигурации.
Возьмите к примеру готовый скрипт установки с гитхаба, что бы не приходилось делать руками то что вы написали, добавьте загрузку клиента в инструкцию и продемонстрируйте подключение к удалённому серверу, желательно со скриншотами.
То что вы опубликовали подойдёт для тех кто и без вашей помощи сможет найти через поисковик эту инструкцию и сделает то что ему нужно.
 
Назначение вашего материала понятно, но вы забыли показать нашим обычным пользователям, как в итоге подключиться к этому серверу. Копипастить то что есть в излишке в свободном доступе не совсем то что нужно здесь. Читателям нужен готовый результат, а не один из способов поднять vnc на сервере с помощью ковыряния файлов конфигурации.
Возьмите к примеру готовый скрипт установки с гитхаба, что бы не приходилось делать руками то что вы написали, добавьте загрузку клиента в инструкцию и продемонстрируйте подключение к удалённому серверу, желательно со скриншотами.
То что вы опубликовали подойдёт для тех кто и без вашей помощи сможет найти через поисковик эту инструкцию и сделает то что ему нужно.
Копипаст? Я не выкладываю копипаст, если только сам не укажу на это! Вся инфа проверена! Кому нужно, ок, пусть в клирнете ищет и мучается неделю, пока что то заведётся. Конфиги там все десятилетней давности полурабочие. По поводу скриптов со скриншотами, может да, стоило бы и так сделать. Только зачем? Мне это не нужно! Если считаешь тему не заслуживающей внимания, удали её. Мне всё равно!
 
Копипаст? Я не выкладываю копипаст, если только сам не укажу на это! Вся инфа проверена! Кому нужно, ок, пусть в клирнете ищет и мучается неделю, пока что то заведётся. Конфиги там все десятилетней давности полурабочие. По поводу скриптов со скриншотами, может да, стоило бы и так сделать. Только зачем? Мне это не нужно! Если считаешь тему не заслуживающей внимания, удали её. Мне всё равно!
Тривиальную инструкцию можно сравнить с копипастой. В сети полно готовых рабочих скриптов и решить эту задачу можно более коротким путём.
Кстати, ваш скрипт не учитывает отсутсвие DM на сервере, тогда уже добавьте в установку xfce4 xfce4-goodies что бы не танцевать с бубном.
Если вам "это не нужно", то другим и подавно. Форум это публичное место, а не для личных заметок.
Раздел будет чиститься позже.
 
Через tasksel всё устанавливается разом, каков смысл отдельно goodies xfce4 ставить? Появляются конфликты в таком случае. Вообщем я не намерен с тобой спорить...будет расположение к тому, напишу скрипт и выложу со скриншотами. Считай уговорил. Удали тогда эту тему!
 
А раздел бы не мешало хорошо прочистить...
 
Через tasksel всё устанавливается разом, каков смысл отдельно goodies xfce4 ставить? Появляются конфликты в таком случае. Вообщем я не намерен с тобой спорить...будет расположение к тому, напишу скрипт и выложу со скриншотами. Считай уговорил. Удали тогда эту тему!
tasksel это уже более продвинутое и нестандартное решение, требующее хотя бы демонстрацию скриншотом. Как правило, в подобных инструкциях наглядно показывают все необходимые компоненты, а в случае с VNC, следует подчеркивать необходимость xfce4 потому что он самый легкий и быстро запускается после старта VNC. Добавление отдельного юзера под это дело совсем не обязательно, так как на результат не повлияет.

На самом деле проще было бы копипастнуть эту страничку и сделать перевод на русский: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-debian-10
Всё готово со скриншотами
 
tasksel это уже более продвинутое и нестандартное решение, требующее хотя бы демонстрацию скриншотом. Как правило, в подобных инструкциях наглядно показывают все необходимые компоненты, а в случае с VNC, следует подчеркивать необходимость xfce4 потому что он самый легкий и быстро запускается после старта VNC. Добавление отдельного юзера под это дело совсем не обязательно, так как на результат не повлияет.

На самом деле проще было бы копипастнуть эту страничку и сделать перевод на русский: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-vnc-on-debian-10
Всё готово со скриншотами
Не сказал бы я, что xfce4 прямо самый легкий и быстрый, LXQt тогда уж. И разница между ними всеми по VNC не столь существенна. Тот же Gnome 3 на 100mb ram больше ест в отличие от xfc4, так что все эти инструкции были уместны лет 10 назад. И KDE последний также отлично работает на самых слабых серверах, если только спецэффекты на всю не выставить, тогда пропускной способности канала начинает не хватать, ввиду самого устаревшего VNC протокола. Есть x2go конечно же и другие более уместные решения, но VNC стандарт, который заведется откуда угодно. И ещё раз говорю: удаляй тему! Переоформлю всё позже.
 

"Забываем про RDP и используем сервера Linux" - ну смотря для каких целей. Для админов в бизнес-секторе это пожалуй очень трудновыполнимо, т.к. много софта завязано на Windows. Хотя последние выходки руководства Microsoft заставляют усиленно задуматься над переселением на Linux и FreeBSD​

 

"Забываем про RDP и используем сервера Linux" - ну смотря для каких целей. Для админов в бизнес-секторе это пожалуй очень трудновыполнимо, т.к. много софта завязано на Windows. Хотя последние выходки руководства Microsoft заставляют усиленно задуматься над переселением на Linux и FreeBSD​

Админам в бизнес-секторе нечего делать в даркнете
 
Становишься фанатом survival horror игр. Понимаешь, что ты и системник враги, даунгрейдишь комп до состояния 486 пентиума. Забываешь про все проблемы и выкидываешь комп на мусорку.
 
Для особых любителей можно вообще i3 использовать. Я пробовал с ним работать, так и не разобрался 🙃
 
Верх Низ