В прошлый раз я настраивал на Windows 10 что-то вроде облегчённой версии виртуальной машины Linux — WSL. Это несомненно удобнее, чем полноценная виртуальная машина на VirtualBox или VMWare. Но в том случае у нас был доступ лишь к консоли, а работать с рабочим столом мы не могли, что вносило некоторые ограничения. В принципе можно было запустить gedit из терминала, но хотелось большего. В этот раз постараемся решить эту проблему через RDP — Remote Desktop Protocol.
У меня видеокарта GeForce, поэтому в консоли Ubuntu проверю, установились ли для неё драйверы:
nvidia-smi
Mon May 29 10:59:54 2023
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 515.65.01 Driver Version: 516.94 CUDA Version: 11.7 |
|-------------------------------+----------------------+----------------------+
| GPU Name Persistence-M| Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
| | | MIG M. |
|===============================+======================+======================|
| 0 NVIDIA GeForce ... On | 00000000:01:00.0 On | N/A |
| 36% 44C P5 21W / 170W | 392MiB / 2048MiB | 1% Default |
| | | N/A |
+-------------------------------+----------------------+----------------------+
+-----------------------------------------------------------------------------+
| Processes: |
| GPU GI CI PID Type Process name GPU Memory |
| ID ID Usage |
|=============================================================================|
| 0 N/A N/A 23 G /Xwayland N/A |
+-----------------------------------------------------------------------------+
Мы можем запустить какое-нибудь графическое приложение (если оно установлено), например gedit:
gedit
Приложение откроется в отдельном окне окне Windows и на панели задач у него будет значок с пингвином.
Если вы установили это приложение, то ссылка на него появится и в меню Пуск в разделе Ubuntu 22.04.2 LTS:
Установка среды рабочего стола xfce4
1. Установим xfce4 и дополнения к нему:
sudo apt install -y xfce4
sudo apt install -y xfce4-goodies
2. Устанавливаем сервер удалённого рабочего стола:
sudo apt install -y xrdp
3. Делаем резервную копию файла настроек:
sudo cp /etc/xrdp/xrdp.ini /etc/xrdp/xrdp.ini.bak
4. Чтобы не было конфликтов, изменим номер порта (с 3389 на 3390):
port=3390
4. Создадим файл .xsession:
echo xfce4-session > ~/.xsession
5. Внесём правки в файл startwm.sh (закомментируем последние две строчки и добавим новую)
# test -x /etc/X11/Xsession && exec /etc/X11/Xsession
# exec /bin/sh /etc/X11/Xsession
startxfce4
6. Запустим сервер удалённого рабочего стола:
sudo /etc/init.d/xrdp start
Подключаемся с помощью Remote Desktop Connection
localhost:3390
Настройка для Kali Linux
Тут все работает практически без особого шаманства.
Устанавливаем Win-KeX:
sudo apt update
sudo apt install -y kali-win-kex
Запускаем рабочий стол:
kex --win -s
По кнопке
Если не будет работать инет, то всё же придётся подправить конфиг:
sudo vi /etc/resolv.conf
# This file was automatically generated by WSL. To stop automatic generation of this file, add the following entry to /etc/wsl.conf:
# [network]
#generateResolvConf = false
nameserver 192.168.1.254
#nameserver 172.28.80.1
И, как сказано в комментарии к этому файлу, вносим изменения в файл /etc/wsl.conf в текущей консоли Линукс:
[network]
generateResolvConf = false
Работа с клиентом SSH
Пытаюсь соединиться с роутером по SSH, но там нет публичных ключей и т.п.:
ssh -v -o "PubkeyAuthentication=no" -o "PreferredAuthentications=password" mgts@192.168.1.254
Получаю ошибку:
Unable to negotiate with 192.168.1.254 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
В этот раз помогло такое сочетание ключей:
ssh -oHostKeyAlgorithms=+ssh-dss mgts@192.168.1.254
Иногда может возникнуть такая ситуация:
ssh superadmin@192.168.0.1
Unable to negotiate with 192.168.0.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group1-sha1,diffie-hellman-group14-sha1
Хорошо, укажем тип шифрования вручную:
ssh -oKexAlgorithms=+diffie-hellman-group1-sha1 superadmin@192.168.0.1
Но в этом случае мы можем получить такой ответ:
Unable to negotiate with 192.168.0.1 port 22: no matching host key type found. Their offer: ssh-rsa,ssh-dss
Тогда укажем оба варианта:
ssh -c aes256-cbc -oKexAlgorithms=+diffie-hellman-group1-sha1 -oHostKeyAlgorithms=+ssh-dss superadmin@192.168.0.1
The authenticity of host '192.168.0.1 (192.168.0.1)' can't be established.
DSA key fingerprint is SHA256:xpc13p0S8atU6scRLXAa7fhcmYkBQAp2p0SUnSR3kVA.
This key is not known by any other names.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added '192.168.0.1' (DSA) to the list of known hosts.
superadmin@192.168.0.1's password:
Не запускается рабочий стол Kali Linux
При попытке запустить рабочий стол, в терминал выводится ошибка:
При этом файрвол ничего не блокирует.
Оказалось, что нужно не просто перезагружать Linux, а перезагрузить WSL:
wsl.exe --shutdown
sudo systemctl disable network-manager.service
Хотя у меня и без неё заработало.
В графическом режиме (в режиме рабочего стола) не переключается раскладка
Раскладка не переключается с помощью комбинации клавиш, а также через виджет раскладки.
Не знаю, как победить этот баг на уровне изменения настроек. Поэтому, если вам нужно переключить раскладку с русского на английский или наоборот, изменяете режим отображения рабочего стола с полноэкранного на оконный, после чего переключаете раскладку как у вас настроено в основной системе.
- C#: Сравнить два массива - 12.12.2024
- EVE-Online: Фильтры каналов - 23.11.2024
- Не приходит СМС для авторизации на сайте Госуслуги - 01.11.2024