Промышленное использование freenx (вырыть комфортную нору в Debian.)

Модераторы: dimbor, Модераторы разделов

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Промышленное использование freenx

Сообщение dimbor »

Секрета нет, что таковое использование идет уже давно. Но у меня до сего момента оно идет под генту, что стало напрягать. Или старый стал, ленивый. О жизненных трудностях я давеча посетовал, был посвящен в роллинг и затоптан фанатами нового grub.
Но несмотря на это, все благополучно разрешилось. Решил потратить неделю-две на сооружение терминально-виртуального решения, которое не будет требовать бегать за каждым его экземпляром со своим напильником. А стабильность и замороженность дебиана скорее всего позволит зафиксировать решения по файлам и принтерам. Идея здравая?
Значится, начал я ковырять виртуалки wheezy (7.1). Начал с 64х, но жестоко обломился - возможно протупил. На генту я мог поставить 32-шный wine@, а сюда не могу. При разрешении зависимостей, оно норовит чуть-ли не весь toolchain basesystem сделать 32-х битным. В принципе возможно пройти этот путь до конца, но незачем. Продолжил с 32х системой. На голую поставил nx от rx, freenx (Тот-который rx 1.1.2, не выше - там еще нет переименования каталогов и прочих пакостей. Далее - содержимое своего гита поверх).
Запустил leafpad и налетел на проблему с libcairo2, рендером и виндовым клиентом:

Lorte писал(а):
13.11.2012 23:07
Я попробовал подрубить на серваке репозиторий Debian squeeze-backports и откатить libcairo2 с версии 1.12 до 1.10. Многие пакеты при откате полетели в трубу, но благодаря этой операции мне удалось нормально запустить сессии с оболочками XFCE4 и LXDE, при этом клиент не вылетал.


Таким радикальным способом не хотелось. Делай раз:

Код: Выделить всё

echo "deb http://ftp.at.debian.org/debian-backports/ squeeze-backports main" >> /etc/apt/sources.list;
apt-get update


Два:

Код: Выделить всё

cat /etc/apt/preferences.d/backports
Package: libcairo2
Pin: release a=squeeze-backports
Pin-Priority: 1001


Три - проверка:

Код: Выделить всё

apt-cache policy libcairo2
libcairo2:
  Installed: 1.12.2-3
  Candidate: 1.10.2-7~bpo60+1
  Package pin: 1.10.2-7~bpo60+1
  Version table:
 *** 1.12.2-3 1001
        500 http://mirror.yandex.ru/debian/ wheezy/main i386 Packages
        100 /var/lib/dpkg/status
     1.10.2-7~bpo60+1 1001
        100 http://ftp.at.debian.org/debian-backports/ squeeze-backports/main i386 Packages


Четыре:

Код: Выделить всё

apt-get install libcairo2


И не так страшен пока этот ваш дебиан.
Вайн@ тоже поставил - блокнот запустил. И это при отсутствии DE и xorg в системе, прошу заметить, - попробую заточить под рутлес исключительно.

Ну и стандартно: интересует ваш опыт на эту тему, а такового должно быть.
Спасибо сказали:

Lorte
Сообщения: 308

Re: Промышленное использование freenx

Сообщение Lorte »

Насчёт Wine x64 под Дебиан: попробуйте скачать убунтовские исходники с лаунчпада и собрать пакеты под свою систему, dpkg-buildpackage Вам в помощь.
Вайн с убунтовскими патчами ИМХО удобнее, в пусковом меню оболочки появляется отдельная менюшка Wine, в которой будет всё: и настройки, и установленные программы, и даже Winetricks.
Спасибо сказали:

Аватара пользователя
Rootlexx
Бывший модератор
Сообщения: 4415
Статус: GNU generation
ОС: Debian GNU/Linux

Re: Промышленное использование freenx

Сообщение Rootlexx »

dimbor писал(а):
23.09.2013 23:24
При разрешении зависимостей, оно норовит чуть-ли не весь toolchain basesystem сделать 32-х битным.

Это что-то типа такого?
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

Rootlexx писал(а):
24.09.2013 14:44
dimbor писал(а):
23.09.2013 23:24
При разрешении зависимостей, оно норовит чуть-ли не весь toolchain basesystem сделать 32-х битным.

Это что-то типа такого?

Да, да - оно самое. У Вас там, вижу, более элегантное решение есть. Благодарю, буду иметь в виду. Но в моем случае конструирования виртуалки, целиком только для вайна предназначающейся, проще ее саму сделать 32-х битной. Достаточно шустро бегает.


Lorte писал(а):
24.09.2013 10:07
Насчёт Wine x64 под Дебиан: попробуйте скачать убунтовские исходники с лаунчпада и собрать пакеты под свою систему, dpkg-buildpackage Вам в помощь.


Увы, прикован к Этерсофту толстой цепью с маркировкой "1це".
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

Продолжаю неспешно ковыряться. Походу получилось заодно решить проблему подключения принтеров с новыми купсами. Там где драйвер по хитрому имени шары сам ставится. Теперь ставится. Раньше спрашивал - молчали все. Сказали бы раньше, было бы раньше.
Теперь не только фуматик, а все дела которые к купсу пришпандорены с помощью внешних враперов, лежащих в каталоге /usr/lib/cups/drivers. (Он везде такой абсолютный интересно?)
Сделано несколько топорно, потому как быстро надо и лень. Пиджин описания теперь такой:

Код: Выделить всё

    # dimbor: Name of windows share or ipp-printer may be set to name
        # of driver.ppd from $NX_ETC_DIR/ppd/ (without ".ppd").
        # For ipp if driver not found we try it to download like
        # oriiginal behaviour (need installed curl).
        # In case of ENABLE_FOOMATIC="1" share/printer name may set to
        # [@]<printer id>[#<N>][__<driver_num>][-nocheck]
        # @: if sharename started with char "@", force setup to anyone
        # share name driver "HP-LaserJet_4M-Postscript.ppd"
        # http://www.nixp.ru/articles/win_printing_in_linux (hello to DjSpike)
        # <printer id>: significant part of drver's uri.
        # <N>: number of printer instance
        # "__": char "_" twice
        # <driver_num>: number from drver's uri.
        # Driver-uri is first field of output '/usr/lib/cups/driver/* list'
        # -nocheck: do not check remote smb-share by rpclient (to W7 Home clients)


Все танцы стали вокруг driver's uri. Вместо имени драйвера - его номер из того же ури. Связано с тем, что каждый врапер пишет имя драйвера в своем месте, если вообще пишет. Т.ч. для задания имени шары [с драйвером] вывод нужного врапера с командой list в помощь.
Оно срабатывает только один раз, при первом подключении. Генерится ppd и кладется в /etc/nxserver/ppd/ Далее просто устанавливается оттуда.
Оттуда же проистекают две морали:
- chmod 775 && chown :users на него
- если будет меняться драйвер для уже использующегося принтера, то файлик ppd перед этим нужно убрать из каталога руками, сам не перепишется - кеш типа.

Оно как обычно - в гите. Вот. И пару комитов попозже имеет смысл посмотреть.
Альтруизм не пропьешь - налетай на глюки!

ЗЫ: Еще по теме топика может быть поучительна бага. Но вряд ли - умирающая субстанция.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

И шары монтируются от юзера, если suid на монтировочные причиндалы расставить. Правда матерятся в логах типа:
Mount error: "mount.cifs: permission denied: no match for /home/dim/MyShares/down found in /etc/fstab"

но далее работают. Хоть так (мультимаунт), хоть сяк. Чудеса какие-то в ентом вашем дебиане.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

Оказывается bash на дебиане какой-то не такой, как на генту. Где писалось по печати все. Значит размудриваю замудренное - тыц.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

Все хорошо с дебианом, прекрасная маркиза. Но вот попал в мои потные ручонки кубик (cubietruck), с производственной конечно целью.
По счастью, задача запуска 1-це на нем не ставится (три раза ха). Но фриэныкс поднять желательно. И обнаружились грустные вещи:

Этерсофт с его rx (== nx == nx-X11), ценимый за наличие в тамошних пакетах набора актуальных патчей, мне помочь не может никак. Потому что под armhf не собирает.

Ну, думаю, сейчас я туда соберу пакетики по-быстренькому. Где я уже этот nx казалось не собирал. Оказалось, что под дебианом и не собирал. Поначалу стал курить доки по сборке deb. Так вот, скажу вам: Все остальные мантейнеры, как я на них не наезжал, оказались вполне адекватными господами по сравнению с дебиановскими и убунтовскими. По крайней мере с ними можно было общаться наравне, даже с моим низким IQ. Можно было сказать "фи" и собрать самому свое. Читая же данное руководство, через предложение вспоминал вслух о женщинах легкого поведения, оказывающих сексуальные услуги нетрадиционным образом. Там походу секта какая-то - сборщиков. И они на .deb это... молятся кароч. И если я буду год активно молиться, на это же, то может какой-нить "hello debian" у меня и соберется.

Путь по "образу и подобию" тоже отпал. Под дебиан сборщиков не нашел. Собирают ppa:freenx-team под убунту. А это немного другой путь, ну типа как католицизм и православие. Забрал у них deb-src, посмотрел как баран. Почитал потом интернет и понял, огребу проблем недетских, собирая сие под родным дебианом.

В сухом остатке моя полная deb-импотенция. patch, make сделаю. make install тоже сделаю. Для остального реквестируется здесь мощный мантейнерский мозг. (сурогаты типа checkinstall не предлагать - тупит он и на менее сложных вещах чем клон xf86, проверено).



Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 17899
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Промышленное использование freenx

Сообщение Bizdelnick »

dimbor писал(а):
17.05.2014 04:39
Для остального реквестируется здесь мощный мантейнерский мозг.

Мозг есть. Что надо-то?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

Предложение такое:
На основе мудрости этерсофта и freenx-team компилю/устанавливаю актуальный nx+freenx для wheezy. Тестирую работоспособность. В данном случае под arm. Под x86, x86_64, в принципе, тоже можно. Далее пишу квест в свободной форме (на шелле) по сборке, установке и разрешению зависимостей. Сможет ли мантейнер в твоем лице на основе этих данных собрать и опубликовать родной пакет? А за спасибо? А за спасибо от сообщества?
За основу можно взять пакеты из /freenx-team/ppa/ubuntu/dists/precise. Там только нескольких патчей не хватает, и с целевыми каталогами запутка.
Спасибо сказали:

Аватара пользователя
Bizdelnick
Модератор
Сообщения: 17899
Статус: grammatikführer
ОС: Debian GNU/Linux

Re: Промышленное использование freenx

Сообщение Bizdelnick »

Если только патчи добавить, то можно. Даже описания как такового не надо. Насчёт целевых каталогов - надо смотреть, что там как.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

Отлично! Дней через несколько, думаю, буду готов. Либы с агентом обновленные уже собрал - давно хотел пощупать, каково оно жить без LDPRELOAD. Материал выдам на гора, как с фриэныксом закончу.
С ним сложнее немного за счет того, что в ppa-шном пакете достаточно внимания уделяется usermode. С ним не работал никогда. Да и этерсофт с ним тоже не разобрался. Сейчас пытаюсь при обновлении на поломать сферические (для меня) возможности.

Пока возник вопрос к народу, кто-нить сишной оптимизацией под arm овладел? nx-овый xorg собирается изначально примерно так:

Код: Выделить всё

#ifdef Arm32Architecture
# define DefaultCCOptions
# ifndef OptimizedCDebugFlags
#  define OptimizedCDebugFlags  -O3
# endif
# define LinuxMachineDefines    -D__arm__ -D__arm32__ -U__arm -Uarm
# define ServerOSDefines        XFree86ServerOSDefines -DDDXTIME
# define ServerExtraDefines     -DGCCUSESGAS XFree86ServerDefines
#endif /* Arm32Achitecture */


В итоге имеем -O3.
В качестве эксперимента вкорячил на кубике:

Код: Выделить всё

# define DefaultCCOptions -O2 -march=armv7-a -mfloat-abi=hard -pipe -fstack-protector -ffast-math

Не думая - в сети строчку красивую нашел. А это плохо. Какие бы хорошие варианты туда вписать? Учитывая, что cubian дело не ограничится. Еще будет raspbian и всякая телефонно-планшетно-чрученная тряхомуть.
Подкиньте хотя бы ссылочек с рецептами, или где можно войти в курс.
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

На кубике оно завелось, на остальных архитектурах с большой вероятностью заведется тоже.

В wheezy имеется на текущий момент большая неприятность с libcairo. Она тут уже сто раз обсуждалась. Имеющаяся 1.12.2-3 жрет текст под nx-сессией со страшной силой. Раньше решалось установкой 1.10 из squeeze-backports. Под armhf такой путь по понятным причинам не подходит. Посему пересобрал 1.12.16-2 из testing - больно уж много барахла она оригинальная за собой тянула. Пакет собрался буквально одной командой. Будет кому надо - выложу куда-нить.

В остальных предположительных пакетах nxagent,freenx дофига чего изменяется по сравнению, и с rx-совскими, и ppa-шными. Уж и еж как-то...

Как и собирался, на оба пакета [un]install.sh соорудил - со своим зоопарком справлюсь. Даже смирясь с "непакетной" организацией всего этого хозяйства. Возникает вопрос в целесообразности дальнейших действий. В теме интереса в них не наблюдаю. Кроме одного добровольного помощника вообще никого не наблюдаю. Такое впечатление, что все убежали на отвратный x2go. Так оно надо вообще дергаться?
Спасибо сказали:

dimbor
Ведущий рубрики
Сообщения: 1506
Статус: Подвинутый участник

Re: Промышленное использование freenx

Сообщение dimbor »

Потыкал палочкой полумертвого. Шевелится. Надо было развернуть nx-овою тряхомуть под wheezy.amd64 + backports. А libcairo2 1.12.16-5 не бекпортируется - libpixman-1 хочет нового плюс компанию. Пришлось вытряхивать из кубика исходники 1.12.16-2.
Так что пусть эти две несуразности пока тут полежат:
libcairo2_1.12.16-2_amd64-wheezy_bpo.tar
libcairo2_1.12.16-2_armhf-cubian.tar
Спасибо сказали: