coolwolf0 - Северный наблюдатель (coolwolf0) wrote,
coolwolf0 - Северный наблюдатель
coolwolf0

Как я тряс стариной

Наш (уже бывший) украинский контрактор поставил одну очень полезную систему тестирования на выделенный для этого линуксовый хост. Мы раньше пытались работать с этой системой через Винду, но выходило как-то криво. Однако для отладки понадобилось подглядывать за процессом тестирования, при том что система работала исключительно безголовым сервером. Естественно, как любое юниксовое приложение, она могла посылать свою "морду" на указанный в $DISPLAY X-сервер. Вот только какой? Я было предложил выделить чей-то юниксовый десктоп в качестве "песочницы", но это ужасно неудобно: работаешь так и вдруг у тебя на экране начинает бежать чей-то тест. Короче говоря, было решено запустить выделенный VNC-сервер.

Вы не представляете, как давно я последний раз запускал Иксы. Обычно эту задачу штатно решали корпоративные айтишники, но тут надо было сделать нечто штучное. Попытка запустить известные команды от имени локального рута привела к кромешным ошибкам и чёрному-пречёрному десктопу в VNC-вьюере. Разговор с умными людьми помог осознать: у локального рута не смонтирована домашняя директория, поэтому бедному VNC и кедам некуда складывать свои конфиги. Ну, подумал я радостно, наконец-то создам что-то от рута! И ... создал. Сначала - домашнюю директорию нового аккаунта. Потом - сам аккаунт:

mkdir -p /var/home/vncuser
useradd vncuser -m
passwd vncuser


Создав аккаунт и пароль, настроил права в домашней директории:

chown vncuser /var/home/vncuser
chgrp vncuser /var/home/vncuser


Теперь можно привязать аккаунт и директорию:

usermod -m -d /var/home/vncuser vncuser


Всё, начинаем строить инфрастуктуру для иксов:

sudo -u vncuser mkdir -p /var/home/vncuser/.vnc
sudo -u vncuser vncpasswd


После этого в домашнюю директорию был скопирован профайл xstartup и запущен VNC (не спрашивайте, почему на втором дисплее и зачем файл хранится в /tmp, это была какая-то итерация после неудачных попыток)

sudo -u vncuser Xvnc :2 PasswordFile=/var/home/vncuser/.vnc/passwd -auth /tmp/.Xauthority


Собственно, вот и вся история. Кеды поднялись согласно сценарию в xstartup, резолюцию экрана настроил при помощи xrandr, а остальное заработало как обычно. Десктоп, работа с клипбордом, иксовый терминал, всё пашет (а почему бы и нет?). Воодушевлённый, переписал свой старый ланчер с Перла/Tk на Пайтон/Tkinter - тоже заработал как часы. Эх, молодость, чего мы только не вытворяли в своё время...

Вы скажете, ну сделал чувак пару стандартных телодвижений, которые можно нагуглить на раз-два. А теперь представьте себе, какие надо сделать телодвижения, чтобы с виндового десктопа приложение открыло окно ... на другом компьютере? Или изменить процесс загрузки десктопа (включая выбор самой оконной системы)? Или запустить на одном компьютере несколько независимых десктопов?

PS: система тестирования оказалась не без дефектов: падая она периодически создаёт core-дамп в текущей директории. Таким образом ей довольно быстро удалось загадить свой локальный диск до 100%. Пришлось дописать парочку crontab, чтобы выносили за ней какахи.
Tags: дыбр, компьютеры
Subscribe

  • Музыка и кино

    Музыка Jеаn-Мiсhеl Jаrrе - Wеlсоmе То Тhе Оthеr Sidе (Соnсеrt Frоm Virtuаl Nоtrе-Dаmе) (2021) Коротко: ерунда. Где хиты, где завораживающие…

  • Дыбрики 2021

    Получили с женой вторую дозу вакцины - она на следующий день чувствовала себя не очень (пришлось отменить прогулку в окрестностях стольного града…

  • Такого выпуска рецензий давно не было

    Хотя бы потому, что этот сборник рецензий - супер-юбилейный (сотый, если считать по моим исходникам на компе). Начнём с музыки Темповой рок -…

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments