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

  • Куда мы катимся...

    Попытался найти аудиокнигу на торрентах - её просто нет. Пошукал по своим старым ссылкам и получил два варианта: либо в онлайне её нет, либо ... нет…

  • Очень плохой отзыв о гостинице

    Гостиницу в Бухаресте мы выбрали по двум критериям: не самый плохой рейтинг и поближе к историческому центру города. Вышло, что этот район мягко…

  • Выезд из Сибиу, переезд в Бухарест

    Так получилось, что накануне вечером попасть на смотровую площадку городской башни Сибиу мы не успели: служащая с немецкой непреклонностью заявила,…

  • 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