пятница, 20 июня 2014 г.

Если в консоли Ubuntu вместо кириллицы квадраты

Чтобы исправить это досадное недоразумение необходимо добавить в файл /etc/initramfs-tools/initramfs.conf строчку
FRAMEBUFFER=Y
и выполнить под root'ом
# update-initramfs -u
# dpkg-reconfigure console-setup 
# dpkg-reconfigure keyboard-configuration

четверг, 29 мая 2014 г.

Тонкий RDP клиент из старого железа на базе Slitaz

Меня всегда мучил вопрос: что делать со старым железом? Вроде выкинуть жалко, можно отдать кому-нибудь, но только никому не нужен этот хлам. И появилась идея использовать старые ПК в качестве резервных "тонких" клиентов, на случай выхода из строя основных.
Вроде бы задача не такая уж и сложная. Берем любой понравившийся Linux дистрибутив, накатываем его, качаем Remmina из репозитория и вуаля! Но не все так просто. Современные популярные Linux дистрибутивы достаточно требовательны к железу. Поставить можно, но ни о какой комфортной работе не может быть и речи. Поэтому было принято решение поискать такой *nix дистрибутив, который был бы на базе относительно современного ядра Linux и в тоже время не очень требователен к железу. Выбор разнообразен: Thinstation, PuppyLinux, SliTaz. Thinstation хорош при загрузке по сети, но я хотел поставить на локальный компьютер, причем на IDE диск. Пробовал я еще 2XOS, но мне он показался ну очень тяжелым. В итоге остановился на SliTaz Linux

  Дано: Старый компьютер с материнской платой ABIT SL-30 на базе чипсета Intel i815E.    
  Процессор - Intel Celeron 633 Mhz   
  ODD - DVD-RW (временно)   
  Графика: встроенный в мать графический чипсет Intel 82815   
  Memory - 256 Mb   
  Сетевая карта - Realtek RTL-8139   
  HDD - IDE Seagate 80Gb   
  Задача: Сделать из этого динозавра "тонкий клиент" с автозапуском freerdp клиента   

Итак, возьмем в качестве ОС Slitaz-5.0-RC1. Выбор пал на этот дистрибутив из-за сравнительно небольших требований к железу. Ядро на момент публикации vmlinuz-3.2.53-slitaz.
Создаем LiveCD и грузимся.
Здесь я столкнулся с первой проблемой. Видео драйвер по умолчанию vesa ну никак не хотел работать со встроенной интеловской видеокартой, поэтому на экране я увидел лишь вертикальные полосы.
Попробуем настроить X-сервер. Для этого перейдем в консоль Alt+Ctrl+F1 и залогинимся под root-ом. Пароль по умолчанию - root. Для начала настроим сеть, чтобы подтянуть интеловский видео драйвер.
Если DHCP поднят в сети, то ничего трогать не надо, сеть по умолчанию настроена на работу с DHCP. Если в сети статика, тогда редактируем конфиг сети:
# nano /etc/network.conf
 DHCP="no"  
 STATIC="yes"  
 IP="YOUR_IP_ADDRESS"  
 NETMASK="255.255.255.0"  
 GATEWAY="YOUR_GATEWAY"  
 DNS-SERVER="8.8.8.8"  
Перезапускаем сеть.
# /etc/init.d/network.sh restart
Обновляем список доступных пакетов:
# tazpkg recharge
Ставим драйвер для работы с интеловскими видеокартами.
# tazpkg get-install xorg-xf86-video-intel
Если по каким-то причинам в зависимости не попала библиотека libpthread-stubs, то обязательно поставьте. Без нее работать не будет.
Теперь внесем изменения в конфиг Xorga:
# nano /etc/X11/xorg.conf.d/60-Device.conf
Если данный файл не обнаружен запустите скрипт tazx, для настройки X-сервера.
Предположим, что все в порядке и файл обнаружен.
Меняем в строке Driver "vesa" на "intel"
Перезапускаем логин-менеджер slim:
# /etc/init.d/slim stop
# /etc/init.d/slim start
Ждем некоторое время и попадаем на рабочий стол.
Переходим в Applications->System Tools -> Slitaz Installer и авторизуемся root-ом. Выбираем Install Slitaz. Далее Execute GParted для создания разделов под корень системы "/" и директории "/home".
Важное замечание: лучше форматировать разделы под файловую систему "ext3". Почему-то, когда разделы форматированы ext4, во время установки падает система и перегружается.
Далее выбираем Continue Installation.
Select distination /dev/sda1
Options: home partition
Ставим галочку Install a boot loader.
Жмем Proceed to Slitaz Installation.
Ждем пока процесс установки завершит работу и перегрузится компьютер.
Внимание!
Если после перезагрузки система не загрузится и увидите сообщение типа:
couldn't find vesamenu.c32 
тогда необходимо сделать следующее:
1) Загрузиться с LiveCD (не важно какого, у меня под рукой был SliTaz LiveCD)
2) Примонтировать жесткий диск
# mount /dev/sda1 /mnt
3) Отредактировать конфиг Syslinux
# nano /mnt/boot/syslinux/syslinux.cfg
Находим строчку #use a boot menu и комментируем:
 #UI vesamenu.c32  
Или если хотите использовать меню при загрузке, то скопируйте его из папки GRUB
# cp /mnt/boot/grub/vesamenu.c32 /mnt/boot/syslinux/
Перезагружаемся.
Обновляем список доступных пакетов (теперь уже установленной системы) и обновляемся:
# tazpkg recharge
# tazpkg upgrade
Если возникает проблема с графикой, решаем проблему как написано выше.
Изменяем время. По умолчанию (UTC).
# nano /etc/TZ
Пишем UTC-4. Теперь у нас московское время.
После того, как наша система приведена в рабочее состояние и готова выполнять наши команды, создадим скрипт автозапуска freerdp клиента после старта системы. При этом, добавим в скрипт простейшее меню для отключения компьютера после завершения RDP-сессии.
Для начала поставим пакет xorg-xinit - программу для инициализации системы Xorg.
# tazpkg get-install xorg-xinit
Далее скачаем последнюю сборку freerdp
# tazpkg get-install freerdp
Чтобы задавать нужное разрешение X серверу, необходимо подкорректировать следующий конфиг:
# nano /etc/X11/xorg.conf.d/70-Screen.conf
В разделе SubSection "Display" добавляем,например, Modes "1024x768"
Теперь создадим скрипт автозапуска freerdp клиента
# touch /usr/bin/autordp
# chmod +x /usr/bin/autordp
# nano /usr/bin/autordp
 Текст скрипта:
 #! /bin/sh  
 DIALOG=${DIALOG=dialog}  
 xinit /usr/bin/xfreerdp /v:YOUR_IP_ADDRESS /u:user -- /usr/bin/Xorg > /dev/null 2>&1  
 $DIALOG --title "Exit" --clear \  
 --yesno "Do you want to exit?" 10 30  
 case $? in  
 0)  
 poweroff;;  
 esac  

Далее добавляем скрипт в inittab
# nano /etc/inittab
 tty1::respawn:/sbin/getty -n -l /usr/bin/autordp 38400 tty1  

Осталось отключить логин менеджер после старта системы. Для этого редактируем /etc/rcS.conf
По умолчанию LOGIN_MANAGER="slim". Меняем на LOGIN_MANAGER="".
Все. Перегружаемся и готов наш "тонкий" клиент в "толстом" корпусе.

четверг, 8 мая 2014 г.

Настройка разрешения окна входа lightdm в Lubuntu 14.04

Столкнулся с проблемой в работе дисплейного менеджера lightdm на неттопе, на котором расшито два выхода LVDS1 и VGA1, причем LVDS1 по факту не используется (видимо мать ноутбучная). Чтобы настроить lightdm необходимо сделать следующее:
1) Запускаем терминал Alt+Ctrl+T
2) Выводим список доступных интерфейсов командой
$xrandr -q
В моем случае нужный интерфейс VGA1 
3) Далее, редактируем файл:
$nano /etc/lightdm/lightdm.conf.d/20-lubuntu.conf
Добавляем строчку:
display-setup-script=xrandr --output VGA1 --primary --mode 1024x768
Логинимся.