2008-09-08

Удаленный рабочий стол Windows в Ubuntu linux

Несколько раз передо мной вставала задача удаленного администрирования базы данных MSSQL. Когда основной операционной системой был Windows XP все решалось просто - на локальной машине запускался SQL Server Management Studio Express из комплекта MSSQL Server 2005. Через этот менеджер производилось подключение к серверу, будь он на той же машине или в локальной сети.
Когда я стал работать в Ubuntu linux и необходимо было решать те же задачи - я знал два пути: либо пересаживаться за компьютер с WinXP (благо стоит он рядом) и жонглировать клавиатурой и мышкой, либо устанавливать на какой-нибудь эмулятор (например QEMU, VBox или VMWare) тот же WinXP, в нем устанавливать тот самый Management Studio. А там все по старому - коннект к удаленному серверу и поехали.
Но сегодня наткнулся на решение, которое известно каждому админу. Возможно, ты, дорогой читатель, не админ, и моя новость будет тебе приятна и полезна: решение за утилитой rdesktop.
Как оказалось, пользоваться ей не так уж и сложно. Два этапа:
1) На удаленной машине с Windows заходим в "Панель управления -> Система -> Удаленные сеаны" и ставим галочку "Разрешить удаленный доступ к этому компьютеру". В списке разрешенных личностей для доступа должен присутствовать ваш логин.
2) В консоли пишем команду:
rdesktop -d ваш_домен -u логин_в_сети -p пароль_в_сети имя_компьютера
И все! Прочитав руководство по утилите нашел еще несколько хороших параметров, но я уверен, что и вы их найдете без труда.
P.S. Последняя версия (на данный момент это 1.6.0, качается с www.rdesktop.org) позволяет запустить удаленный рабочий стол таким образом, что, хотя полноэкранный режим и закрывает один из рабочих столов, переключаться на другой можно через клавиатуру, и переключение корректно: на одном рабочем столе нормальный гном, на втором - "нормальный" Windows. В 1.5.0 полноэкранный режим обладал странным свойством: как ни переключай рабочие столы, на них будет все тот-же Windows (по крайней мере при включенных эффектах Compiz).

P.S. Устранение некоторых багов rdesktop (обычно с раскладкой клавиатуры) делается путем установки пропатченной версии.

Качаем для i368: http://sys-admin.org/files1/rdesktop/rdesktop_1.6.0-alt1_i386.deb
или для x86_64: http://sys-admin.org/files1/rdesktop/rdesktop_1.6.0-alt1_amd64.deb
Далее:
sudo dpkg -r rdesktop
sudo dpkg -i rdesktop_1.6.0-alt1*
cd /usr/lib
sudo ln -s libcrypto.so.0.9.8 libcrypto.so.6

rdesktop -5 -z -y -u пользователь -p пароль -g разрешениеxэкрана IP_удаленного_компьютера
главная опция "-y" - она говорит использовать raw клавиатуру


Взято отсюда.

2008-09-04

PDF в Ubuntu: несколько рецептов

На работе время от времени требуется производить манипуляции с файлами PDF. В результате проведенных поисков и тестов получены следующие результаты:
Использование пакета pdftk:
sudo apt-get install pdftk
1. Разбор файла на страницы:
pdftk input.pdf burst output page%03d.pdf
Получится пачка файлов с именами page001.pdf, page002.pdf.... page021.pdf и т.п.
2. Извлечение одной или нескольких страниц в отдельный файл:
pdftk input.pdf cat 1 output page1.pdf
pdftk input.pdf cat 5-9 output page5-9.pdf
3. Сборка одного файла из многих:
pdftk *.pdf cat output combined.pdf
pdftk page1.pdf page2.pdf cat output combined.pdf
На этой странице есть еще примеры. Примечание: при обработке файлов с символами кириллицы в названии выдает ошибку, собирает страницы в один файл быстрее, чем ghostscript.

Использование пакета ghostscript:
sudo apt-get install ghostscript
1. Сборка одного файла из множества:
gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH *.pdf

Облегчим себе жизнь скриптами и алиасами!
В папку с пользовательскими скриптами (у меня это ~/bin) поместились файлы:

# Скрипт pdfX. Для работы нужна утилита pdftk
if [ $1 ]; then
if [ $2 ]; then
pdftk $1 cat $2 output page$2.pdf;
else echo "Нужен обязательный параметр: извлекаемые страницы. Указывать или число (например 12) или промежуток чисел (например 2-4)";
fi;
else echo "Нужен обязательный параметр: имя файла pdf";
fi;

Использовать так:
pdfX input.pdf 4-5
pdfX input.pdf 43

# Скрипт pdfXall. Для работы нужна утилита pdftk
if [ $1 ]; then
pdftk $1 burst output page%03d.pdf
else echo "Нужен обязательный параметр: имя файла pdf";
fi;

Использовать так:
pdfXall input.pdf

В файл ~/.bashrc добавлена строчка:
alias pdf2one='gs -dNOPAUSE -sDEVICE=pdfwrite -sOUTPUTFILE=combinedpdf.pdf -dBATCH'

После перечитывания файла
~$ . .bashrc
в каталоге с кучей файлов pdf можно использовать команду:
pdf2one *.pdf

2008-09-01

Анапа, пансионат Кассандра

Вот и съездили мы с женушкой на курорт! В целом все было так, как хотелось: тишина, мало людей, песчаный пляж, огромное море... Просто отдохнули телом и душой. Кормили нас на убой три раза в день, номер с кондиционером и всеми удобствами. Кайф! Если кто спросит, порекомендую ли я этот пансионат или нет - то отвечу, что для наших целей он подошел отлично, так что если вы ищете покоя и синего моря - то самое оно. Иногда выключался свет и вода в номере не текла (насос останавливался), потому что ломался генератор. Но это было пару раз всего за 10 дней.
Омрачили картину только эпизоды в дороге. В поезде в Анапу было очень жарко, не работал кондиционер, и наши места оказались в купе с аварийными неоткрывающимися окнами. Поэтому всю дорогу провели с мокрыми полотенцами, обтирались. А обратно мы ехали в вагоне с проводниками-студентами. Стажеры вроде бы. Об этом даже рассказывать не хочется. Хуже проводников я еще не видел. К тому-же обратно в Москву мы ехали через Украину, и у жены наковыряли проблемы с паспортом, так что мой кошелек несколько похудел. Таможенники просили денег не стесняясь.
Поэтому когда приехали на вокзал столицы, несмотря на холодрыгу (а мы то с югов, одеты легко) радовались, что добрались до дома и не остались бомжевать в Украине. Вот такая история.