Моят личен и професионален живот

Показват се публикациите с етикет Виртуализация. Показване на всички публикации
Показват се публикациите с етикет Виртуализация. Показване на всички публикации

2020-01-09

Използване на xrdp с различни Линукси и проблем на Fedora

Използвам различни Линукси във виртуални машини от повече от 15 години, за да поддържам уменията си актуални. Просто не е достатъчно да познаваш една Линукс дистрибуция, а трябва да познаваш поне основните такива (напр. Debian, RPM или основани на друг пакетен мениджър такива). Затова отделно от Slackware, редовно ползвам Debian, Ubuntu, Fedora, OpenSuSE, CentOS и от скоро Oracle Linux (заради Oracle XE). През годините, експериментирах също с Gentoo, FreeBSD, OpenBSD, NetBSD и други.
Това от което веднага имам нужда във всяка от тези е сигурна обвивка (SSH) разбира се, за да мога да пиша команди отдалечено. Обаче, също искам да работя и си играя с GUI програми, так че имам нужда от отдалечен графичен достъп. През годините ползвах VNC и NoMachine, но никога не съм ги харесвал по различни парични. Това което винаги ми е липсвало в Linux беше лесен достъп като RDP с действително управление на сесии и всички други благини което е леко и здраво (напр. NoMachine също управлява сесии, но кодира видео на десктопа, което прави картината замъглена и често не работи на Линукс виртуалните ми машини след надграждания).
Така открих xrdp, което е "RDP сървър с отворен код". Лесен за инсталиране, настройка и пускане на Debian, Ubuntu и OpenSuSE и просто работи. Инсталацията за Fedora изисква някои допълнителни стъпки, които са описани в README.Fedora от отговорника за xrdp пакета Божан Сможвер. По подразбиране xrdp на Fedora работи само с VNC сесии, но вече казах, че не го харесвам, така че предпочитам да ползвам Xorg както с другите ми Линукси. Ще резюмирам стъпките тук:
  1. Инсталация на нужните пакети: dnf install xrdp xorgrdp
  2. Промяна на /etc/xrdp/xrdp.ini и разрешаване на Xorg сесии;
  3. Разрешаване на достъп за всички или определени потребители, напр. echo "allowed_users = anybody" >> /etc/X11/Xwrapper.config (виж оше бъг 1450720);
  4. Разрешаване на порт 3389 на защитната стена, напр. firewall-cmd --zone=dmz --add-port=3389/tcp
  5. Насочване на RDP клиента към Линукс машината и забава.
Е, поне до вчера. След надграждане на Fedora виртуалната ми машина до Fedora 31 RDP връзката спря да работи с Xorg сесии, въпреки че VNC сесиите си работеха. Журнала на xrdp в /var/log/xrdp-session.log предполагаше, че Xorg сесията се чупи точно след като се пусне, така че получавах празен екран.

[20200109-10:12:53] [INFO ] setpriv --no-new-privs Xorg :10 -auth .Xauthority -config xrdp/xorg.conf -noreset -nolisten tcp -logfile .xorgxrdp.%s.log
[20200109-10:12:53] [CORE ] waiting for window manager (pid 4902) to exit
[20200109-10:12:57] [CORE ] window manager (pid 4902) did exit, cleaning up session
[20200109-10:12:57] [INFO ] calling auth_stop_session and auth_end from pid 4877

Разследвайки причината, забелязах следното в журнала (напр. с journalctl -r):

Jan 09 10:12:55 fedora systemd[4881]: Failed to start GNOME Shell on X11.
Jan 09 10:12:55 fedora systemd[4881]: gnome-shell-x11.service: Failed with result 'protocol'.
Jan 09 10:12:55 fedora gnome-shell[5157]:   Current serial number in output stream:  359
Jan 09 10:12:55 fedora gnome-shell[5157]:   Serial number of failed request:  358
Jan 09 10:12:55 fedora gnome-shell[5157]:   Minor opcode of failed request:  7 (RRSetScreenSize)
Jan 09 10:12:55 fedora gnome-shell[5157]:   Major opcode of failed request:  139 (RANDR)
Jan 09 10:12:55 fedora gnome-shell[5157]: X Error of failed request:  BadMatch (invalid parameter attributes)
Jan 09 10:12:55 fedora xrdp-sesman[4870]: rdpRRScreenSetSize: not allowing resize
Jan 09 10:12:55 fedora xrdp-sesman[4870]: rdpRRScreenSetSize: width 1688 height 932 mmWidth 447 mmHeight 247
Jan 09 10:12:55 fedora gnome-shell[5157]: Xlib:  extension "DPMS" missing on display ":10.0".
Jan 09 10:12:55 fedora xrdp-sesman[4870]: rdpRRGetInfo:

Значи gnome-shell всъщност пропадаше. Първоначално, намерих бъг 1575792, който изглежда сходен, но не е бил решен. В крайна сметка, проблема се оказа в последната версия на xorgxrdp 0.2.12 (виж проблема #156). Трябваше просто да върна версията на xorgxrdp до 0.2.11, с насилствено инсталиране на xorgxrdp пакета от RHEL 8 ето така:

rpm --nodeps -i xorgxrdp-0.2.11-1.el8.x86_64.rpm

И нещата се върнаха към нормалното.

Обновяване 2020-01-14: Разбира се добре е да изключите пакета xorgxrdp от обновявания (виж Excluding Packages From Transactions) или просто echo "excludepkgs=xorgxrdp" >> /etc/dnf/dnf.conf като едноредова команда.

Щастливо ползване на любимата ви Линукс дистрибуция!

2018-02-26

ReactOS 0.4.8 RC на VMware ESXi

През почивните дни беше пусната ReactOS 0.4.8 RC. Успях да надградя и инсталирам също VMware Tools, но не можах да пусна мрежа с e1000 драйвера, така че продължих да ползвам vlance както е предложено на VMware страницата в ReactOS's Wiki. Също така имах BSOD с грешка 0xC0000218 отнасяща се до невъзможност да се прочете registry hive, което се оказа проблем с диска (виж тема Blue Screen crash on VirtualBox във ReactOS's форума).

ReactOS Desktop

Хвърлете един поглед и я пробвайте!

2018-02-25

Моите Линукс виртуални машини

Аз съм Линукс потребител от 1999 и освен, че ползвам Slackware Linux най-много, използвам също други дистрибуции от време на време в работата си (напр. RadHat Linux сега Fedora, SuSE Linux сега OpenSuSE Leap) и личните ми проекти и експерименти (напр. Debian, Ubuntu, CentOS и други). През 2009 изградих виртуалния си сървър базиран на VMware ESXi hypervisor, с основната идея а мога да изграждам Slackware пакети за различни версии и двете архитектури - x86 и x86_64. Така, че текущо имам:

И обнових всички тези (23+1) днес :-) Достъпвам тези виртуални машини през SSH и NoMachine (за работен плот). Бидейки човек с различни интереси използвам Oracle Express Edition 11g R2, MySQL, MariaDB и PostgreSQL бази от данни, различни приложения като Oracle SQL Developer, MySQL Workbench, PgAdmin III, Meld, kdesvn, Calibre и много други на тези виртуални машини. Отдолу са няколко екранни снимки: 

Debian 9.3 (Stretch) Desktop
Ubuntu 17.10 (Artful Aardvark) Desktop
Fedora 27 Desktop
openSUSE Leap 42.3 Desktop
CentOS 7 Desktop

Колко виртуални машини използвате у дома?