четверг, 8 ноября 2012 г.

Писк спикером при выполнении ping ubuntu

Недавно понадобилось мне обязательно дождаться момента, когда в сети появится одна машинка, для чего я поставил пинг и сел ждать. После минуты вмыка на "destination is unreachable" я решил сделать так, чтобы при появлении ответных пакетов мой "пылесос" просвистел мне об этом в системный спикер. Погуглив, нашел отличный вариант, и немного его модернизировал. Вот, что получилось:

Установим необходимый пакет:

sudo apt-get install beep

Разблокируем скорее всего заблокированный встроенный бипер:

sudo nano /etc/modprobe.d/blacklist.conf
Ищем в файле строчку blacklist pcspkr и каментим ее, сохранеяем файл.

Затем пишем:

sudo modprobe -r pcspkr && modprobe pcspkr

Чтобы окончательно дать возможность заработать спикеру. Проверяем работоспособность:

beep

Если ищит - все ок, значит копипастим код ниже:


#to beep with pcspcr when ping
beepwhenup ()
{
echo 'Enter host you want to ping:';
read PHOST;
if [[ "$PHOST" == "" ]]; then
exit;
fi;
while true;
do ping -c1 -W2 $PHOST 2>&1 >/dev/null;
if [[ "$?" == "0" ]]; then
for j in $(seq 1 4); do beep -f 3000 -l 200 -r 50 -d 200;
done;
ping -c1 $PHOST;
break;
fi;
done; 
}

Это все счастье мы записываем в конец ~.profile и выполняем:

cd ~/

. .profile

для того, чтобы команда beepwhenup попала в систему. Выполнять . .profile
нужно будет при каждой перезагрузке.

Теперь по команде beepwhenup терминал попросит у вас ввести IP пингуемого хоста, и будет ждать, а когда появится пинг - сообщит вам приятным попискиванием (частотой 3000, 50 раз, длительностью в 200 мс и интервалом в 200 мс).

Но!!! Стоит помнить, что спикер будет пищать И НЕ ЗАТКЕТСЯ, пока не будет выполнено все 50 писков.

Приятного пользования.

понедельник, 10 сентября 2012 г.

Восстановление работоспособности Motorola Droid 2 (Milestone 2)

На днях приобрел себе этот замечательный аппарат. Привезенный из USA, под оператором Verizone, а, соответственно, CDMA-шный. Родная версия андроида на нем - 2.3.3. Захотелось мне прошить его под CyanogenMod, для чего нужно было сделать даунгрейд системы до 2.3.20, затем получить права рута, и только затем шить цианоген. Но, благодаря излишней самоуверенности, незнанию матчасти и хроническому недосыпу, в 3 часа ночи я получил "кирпич". Телефон при включении сразу выпадал в bootloader с ошибкой Code Error при нормальном заряде батареи (часто на неофициальных прошивках такое бывает из-за низкого заряда аккумулятора). Почитав малость, я пришел к выводу, что дело дрянь и нужно шить оригинальной прошивкой через RSD Lite. Но, не тут-то было. Программа пишет, что все ОК, телефон прошит, но ничего подобного не происходит. Телефон все так же остается кирпичным. Короче, полез я на "пиндостанские" форумы и нашел вот эту замечательную весч, которая помогла мне в два клика вернуть телефон к жизни. Оригинал статьи "ин инглиш", потому кратко о главном:

1) Качаем по ссылке утилиту для Froyo или для Gingerbread, она будет иметь формат .iso. Заливаем на флешку/диск при помощи Ultra ISO, скажем, загружаемся в биосе с этой самой флешки/диска. Надеюсь, объяснять, как создать загрузочный диск нужды нет.

2) В первом выпавшем меню нужно нажать Enter, пойдет загрузска системы, затем выполнится скрипт, и вы увидите следующее окошко:


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

Соответственно жмакаете 1 (ну или 2 или 3) и Enter. Пойдет загрузка прошивки в телефон. Дождитесь окончания, телефон сам загрузится в новую ось.

Все, всем спасибо за внимание. Надеюсь, кому-то помог. И да, я теперь пользуюсь только официальной версией андроида с последними обновлениями, чего и вам советую :)

пятница, 7 сентября 2012 г.

Установка FreeNX сервера на Ubuntu

Данная статья является моим вольным переводом статьи, с дополнениями и пояснениями по ходу текста. Материал на работоспособность проверен лично, баги учтены и по возможности отловлены... Если у кого чего не получается - в каменты, будем вместе решать :)

Итак....

 Для начала создаем скрипт, скажем install.sh, и запихиваем в него следующий текст:

echo **
echo *FreeNX Setup Script*
echo **

sudo apt-get install python-software-properties
sudo add-apt-repository ppa:freenx-team
sudo apt-get update
sudo apt-get install freenx -y
sleep 5

echo **
echo *The End*
echo **


Делаем файл исполняемым:

sudo chmod +x install.sh

Этот простенький скрипт добавит репозиторий в ваш sources.list и скачает и установки все необходимое, а то-есть: минимальный (совсем) gnome2 и сам, собственно, freenx-server. Если вас это устраивает, то запускаем скрипт установки. Если же нет, то сами ставим графику с софтом по своему усмотрению, а только затем запускаем скрипт.

sudo bash ./install.sh

По окончанию процесса установки меняем файл node.conf по пути /etc/nxserver:

sudo nano /etc/nxserve/node.conf

Находим строчку:

#ENABLE_PASSDB_AUTHENTICATION="0"

и меняем на:

ENABLE_PASSDB_AUTHENTICATION="1"

Далее нужно установить права пользователям на доступ к NX-серверу по ssh. Для этого нужно в файле:

sudo nano /etc/ssh/sshd_config

после строк:

RSAAuthentication yes
PubkeyAuthentication yes
#AuthorizedKeysFile        %h/.ssh/authorized_keys2

Добавить:

AllowUsers nx your*user*name
  
Где nx - системный юзверь (на сколько я понимаю), без которого вообще ничего работать удаленно не будет, а your*user*name - имена пользователей, учетные записи которых будут на сервере, и которым вы хотите дать доступ к NX-серверу.

Далее создаем так называемый client id dsa - ключ, который будет использоваться для проверки доступа подключаюегося серверу пользователя. Для этого:

sudo /usr/lib/nx/nxkeygen

Если все ок, то выхлоп будет следующим:

Unique key generated; your users must install
/var/lib/nxserver/home/.ssh/client.id_dsa.key
on their computers.


Что значит, что нужно скопировать сгенеренный ключ на клиентские машины из указанной папки.

Далее создаем файл users.id_dsa в папке /etc/nxserver, и копируем в него содержимое файлика /var/lib/nxserver/home/.ssh/client.id_dsa.key.

Далее добавляем юзверя в юзер-лист NX-сервера. Пользователь, соответственно,  должен был быть зарегистрирован в самой системе.

sudo nxserver --adduser chris

Если выхлоп получился подобный:

NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.4.0)
egrep: /etc/nxserver/passwords: No such file or directory
cp: cannot stat `/etc/nxserver/passwords': No such file or directory
NX> 1000 NXNODE - Version 3.2.0-74-SVN OS (GPL, using backend: 3.4.0)
cat: /etc/nxserver/users.id_dsa.pub: No such file or directory
cat: /etc/nxserver/users.id_dsa.pub: No such file or directory
NX> 716 Public key added to: /home/chris/.ssh/authorized_keys2
NX> 1001 Bye.
NX> 999 Bye


то все ОК, если нет - ищем ошибку. 

Далее устанавливаем пользователю пароль для входа. Рекомендую не морочить голову ни себе ни людям и ставить пароль такой же, как от входа в систему.

sudo nxserver --passwd chris

Если выхлоп такой:

NX> 100 NXSERVER - Version 3.2.0-74-SVN OS (GPL, using backend: 3.4.0)
New password:
Password changed.
NX> 999 Bye


то все ОК, если нет - ищем ошибку.

Далее выдаем разрешения системному пользователю на пользование папочкой и всем её содержимым:

sudo chown nx:root /var/lib/nxserver/db/*

Перезагружаем ssh-сервер и freenx-сервер:

sudo /etc/init.d/ssh restart

sudo nxserver --restart


Далее через NX-Client коннектимся к серверу, не забыв указать путь к скопированному ключу. Если коннект прошел успешно - радуемся жизни, играемся дальше.

Все, that's all toons, kids :)

четверг, 6 сентября 2012 г.

MOC - музыка в консоли. Альтернатива XMMS и Exaile.

MOC - Music On Console - консольный плеер для никсовых систем без иксов. То-есть из консоли (на правах капитана). Устанавливать и использовать его (для GUI есть замечательный плеер Exaile, полноценный аналог KDE'шного Amarok'а) нужно в двух случаях:
1) вы - любитель консоли и всего, что с ней связано
2) на вашей системе иксов нет в принципе (и в будущем не предвидится)
Выглядит moc вот так:
или так:
в зависимости от настройки, и очень в общем и целом напоминает MC. Сам я этой софтовиной пользовался, и довольно продолжительное время, и могу сказать, что это очень достойный экземпляр плеера вообще, и он может потягаться с GUI-собратьями (даже ввиду постоянно ведущихся холиваров на эту тему) в удобстве управления, функционале (он и треки на last.fm скробблить умеет) и всем остальном.

Итак, если вас все-таки заинтересовал данный шедевр консольного искусства, то следуем следующим нехитрым инструкциям по установке:


sudo aptitude install moc moc-ffmpeg-plugin
Это установит плеер вместе с необходимыми плагинами. Далее можно сразу стартануть плеер:
 
mocp
Полюбовались, закрываем по Shift+Q. Эта команда остановит и сервер mocp, кстати. Для разрыва текущего соединения плеера с сервером нужно жмакнуть просто Q.
Для редактирования конфиги создаем несколькими командами стандартный файл конфигурации и открываем его:

sudo cp /usr/share/doc/moc/examples/config.example.gz ~/.moc

sudo gunzip ~/.moc/config.example.gz


sudo mv ~/.moc/config.example ~/.moc/config



sudo nano ~/.moc/config

Вот примерный конфиг:

Layout1 = "directory:0,0,100%,100% playlist:0%,0,50%,100%" 
ReadTags = yes 
MusicDir = "~/Music/" 
Mp3IgnoreCRCErrors = yes 
AutoNext = yes 
FormatString = "%(t:%t:)" 
OutputBuffer = 2048 
InputBuffer = 512 
Prebuffering = 64 
OSSDevice = /dev/dsp 
OSSMixerDevice = /dev/mixer 
OSSMixerChannel = pcm 
OSSMixerChannel2 = master 
Equalizer_SaveState = yes 
ShowHiddenFiles = no 
StartInMusicDir = yes 
HideFileExtension = no 
ShowFormat = yes 
ShowTime = IfAvailable 
UseMmap = no 
XTermTheme = transparent-background 
ID3v1TagsEncoding = WINDOWS-1251 
UseRCC = yes 
UseRCCForFilesystem = yes 
TagsCacheSize = 256 
FollowPlayedFile = no 
ModPlug_MegaBass = yes 
QueueNextSongReturn = yes


Далее идет уже тонкая настройка плеера (команды отсюда добавлять в конец файла config):


Команда нормализирует громкость выделенного файла в MOC по F4:

ExecCommand4 = "mp3gain -r -k -w -T -d 3 %f"

Банальная команда копирования выделенного файла по F5 в определенный каталог. Полезно при прослушивании чужой музыки на флешке и копирования понравившихся треков:

ExecCommand5 = "cp %f /home/username/Музыка/Скопированная"

Еще более банальная команда - удаление выделенного файла по F8:

ExecCommand8 = "rm %f" 

Для скачивания песен из интернет-плейлистов m3u (по нажатию F7) в указанный каталог:

ExecCommand7 = "wget -c -P /home/username/Музыка/Загруженная %f"

Кстати, для запуска плейлистов нужно вбить в терминале:

mocp /папка_с_плейлистом/название_плейлиста.m3u

Вот список некоторых "горячих клавиш" moc:

Открытие/закрытие плеера/сервера mocp

Q (Shift+q) — закрытие сервера и клиента moc

q — закрытие клиента moc, сервер при этом, продолжит проигрывание

Tab — Навигация между панелями проигрывать файлы можно как из файлового менеджера, так и из плэйлиста

Плейлисты

a — Добавить файл для воспроизведения в плэйлист

A (Shift+a) — рекурсивное добавление в плэйлист, те все музыкальные файлы, находящиеся в папке будут добавлены в плэйлист


Ctrl+o Проигрывание url


Ctrl+u — Добавить url адрес в плейлист


V (Shift+v) Сохранить плейлист

u — переместить файл выше в плэйлисте


j — переместить файл ниже в плэйлисте


d — удалить файл из плэйлиста


C (Shift+c) — очистить плэйлист

Управление

ENTER — запустить плей

n — воспроизвести следующий трек


b — воспроизвести предыдущий трек

> (Shift+.) сделать громкость больше


< (Shift+,) сделать громкость меньше


p — пауза в проигрывании (снять паузу — повторное нажатие p)


s — остановить проигрыватель (начать проигрывание — ENTER)

S (Shift+s) — включает режим Shuffle — проигрывание плэйлиста в случайном порядке


R (Shift+r) — включает режим Repeat — циклическое воспроизведение плэйлиста

Справка

h — справка по командам moc

Простые команды, которые лепятся на горячии клавиши

mocp -f   следущий трек

mocp -r   предыдущий трек

mocp -G  play stop

Для того, чтобы научить moc скробблить треки на last.fm нужно:

1) скачать/установить lastfmsubmitd

2) добавить через adduser своего пользователя в группу lastfm

3) прописать в конфиг /etc/lastfmsubmitd.conf свой логин и пароль к аккаунту Lastfm

4) скачать и закинуть в папку ~/.moc скрипт, который будет передавать данные в lastfmsubmitd

5) сделать его исполняемым и дать права на выполнение вашему пользователю

6) в файл ~/.moc/config прописываем такую строку:

# lastfmsubmitd 
OnSongChange = "/home/имя_пользователя/.moc/moc_submit_lastfm --artist %a --title %t --length %d --album %r"

Проверим, работает ли демон lastfmsubmitd:

top -b -n 1 | egrep "lastfm|PID"

Выхлоп должен получиться где-то таким:

PID   USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
15891 lastfm    20   0  9688 4388 1756 S    0  0.2   0:11.26 lastfmsubmitd

Перезапускаем mocp, чтобы изменения (любые) вступили в силу. После запуска ставим на воспроизведение любой трек и смотрим выхлоп команды ps:

ps -eo user,pid,cmd | grep lastfm

Выхлоп должен получиться где-то таким:

lastfm    15891 /usr/bin/python /usr/bin/lastfmsubmitd
posix     30198 python /home/posix/.moc/moc_submit_lastfm
                --artist Radiohead --title Paranoid Android --length 06:24 --album OK Computer

Вот, собственно, и весь конфиг-апгрейд. На выходе после этой небольшой настройки вы получаете действительно замечательный плеер, не жрущий ресурсов и вообще просто консольный, теплый и ламповый ^_^

среда, 5 сентября 2012 г.

Настройка консольного IM клиента Finch

Шикарная статья по ссылке. Прошу у автора милости и прощения за репост, но уж слишком часто я страдаю от сообщения по ссылке "блог переехал", когда ничего найти уже нельзя бывает. Потому продублирую, чисто для себя.

Введение
Finch - консольная оболочка IM клиента Pidgin. В версии 2.6.6 поддерживает такие протоколы, как AIM, Gadu-Gadu, GroupWise, ICQ, IRC, MSN, MXit, MySpaceIM, QQ, SILC, SIMPLE, Sametime, Yahoo, Yahoo JAPAN и, конечно же, любимый нами XMPP. Finch не одобрен официально America Online, ICQ, Microsoft и Yahoo.
Устанавливается как в комплекте с Pidgin, так и отдельно от него. Выпущен на условиях GPL.
Настройка
При первом запуске появится окно добавления или создания учетной записи.




Переход между полями осуществляется по клавише Tab и курсором вправо-влево. Выбираем протокол XMPP, заполняем графы "Имя пользователя", в графе "Домен" указываем сервер без символа "@", ресурс на ваше усмотрение, вводим ваш пароль, псевдоним тоже на ваше усмотрение, может отличатся от имени пользователя. если вы не хотите каждый раз при подключении вводить пароль, отметьте галочкой "Запомнить пароль" Если вы пользуетесь jabber впервые, отмечаем галочкой "Создать эту учетную запись на сервере". Галочка ставится с клавишей Space. Сохраняем.


Окна
Да-да, окна.


Finch предоставляет возможность довольно комфортно разместить ваши конференции и чаты на рабочем пространстве, используя для управления ими сочетания клавиш.

Окно управления аккаунтами

Тут вы можете добавить еще учетных записей.

Список собеседников

Сворачивание-разворачивание групп по пробелу. В нижней части окна выбирается актуальный для вас статус.






















Окно беседы



Вход в конференцию
Теперь перейдите в окно списка бесед и нажмите клавишу F11. В появившемся меню нужно выбрать пункт "Добавить чат".


Выбираете вашу учетную запись, затем в поле "Имя" вводите полный адрес нашей конференции all-linux-ru@conference.jabber.ru и нажимаете "добавить". Этого вам хватит, чтобы добраться до нашей конференции. Еще могу посоветовать отправить команду /help в любой чат.

Выдержки из man Finch

Опции
В коммандной строке finch поддерживает следующие ОПЦИИ:

-d, --debug
Выводит отладочные сообщения на stderr и поднимает при старте окно Отладка. Текст в окне Отладка тот же, что идёт на stderr.
-c, --config=КАТАЛОГ
Использовать КАТАЛОГ как каталог с настройками, вместо ~/.purple.
-h, --help
Распечатать эту справку и выйти.
-n, --nologin
Не соединяться автоматически при старте finch. Для всех учётных записей статус устанавливается в "Не в сети".
-v, --version
Показать информацию о версии.

Сочетания клавиш GND
Вы можете использовать следующие сочетания клавиш:

Alt + a
Поднимает список доступных действий. Можно использовать для доступа окнам: Учётные записи,Модули, Настройки, и т.д.
Alt + n
Перейти в следующее окно.
Alt + p
Перейти в предыдущее окно.
Alt + w
Показать список окон. Даёт возможность переключиться на любое окно из списка.
Alt + c
Закрыть активное окно.
Alt + q
Выход.
Alt + m
Переместить окно. Используйте клавиши управления курсором, чтобы двигать окно. Применить можно нажав клавишу Enter или Escape.
Alt + r
Изменить размер окна. Используйте клавиши управления курсором, чтобы двигать границу окна. Применитьможно нажав клавишу Enter или Escape.
Alt + D
Вывести содержимое экрана в формате HTML.
Alt + .
Сдвинуть текущее окно на одну позицю вправо в списке окон.
Alt + ,
Сдвинуть текущее окно на одну позицю влево в списке окон.
Alt + l
Обновить окно. Полезно после изменения размера окна терминала.
Alt + 1 2 ... 0
Перейти в 1-е, 2-е ... 10-е окно.
Alt + Tab
Перейти в следущее URGENT (подсвеченое) окно.
Alt + Shift + Tab
Перейти в предыдущее URGENT (подсвеченое) окно.
Ctrl + o or F10
Отображает меню (если оно имеется) для окна.
F11
Всплывающее контекстное меню (если оно имеется) для выбранного виджета.
Alt + /
Показать список доступных привязок клавиш для текущего виджета.
Alt + >
Переключиться на следующее рабочее пространство
Alt + <
Переключиться на предыдущее рабочее пространство
Alt + t
Пометить (или снять метку) текущее окно
Alt + T
Привязывает помеченные окна к текущему рабочему пространству
Alt + s
Показать список рабочих пространств
F9
Создать новое рабочее пространство и переключиться на него

Комманды доступные в окне Беседа
Есть несколько удобных комманд в дополнение к обычным. Можно использовать их в любом окне Беседа для вызова других окон
/accounts
окно Учётные записи.
/buddylist
окно Список собеседников.
/debugwin
окно Отладка.
/plugins
окно Модули.
/prefs
окно Настройки.
/status
окно Статусы.

Весь русифицированый man Finch можно найти тут, за что спасибо Алексею Викторову =)

Модули
В окне настройки модулей отмечаете нужный вам, запоминаете его расположение, жмете "Устанвить модуль", прописываете путь до него. Enter. Настраиваете по необходимости.

Установка и настройка rTorrent в Debian

Источник статьи - статья на Хабре. И, хоть с момента написания поста прошло два года, актуальность он не потерял, так что оставлю все "as is" - для себя, чтоб не потерять.

rTorrent — еще один из самых популярных torrent клинтов в мире Unix-подобных операционных систем (о Transmission я уже написал несколько ранее). При создании этого клиента, по заявлению автора, во главе угла стояли «высокая производительность и хороший код», а использование mmap для отображения файлов в память позволяет добиться на широкополосных каналах трехкратного преимущества перед официальным клиентом. Еще одной характерной чертой rTorrent является наличие множества различных web-интерфейсов «на все вкусы» для удаленного управления. Именно об установке и настройке всего этого я и хочу рассказать на этот раз.


Установка rTorrent


При установке rTorrent я буду предполагать что все действия производятся в последней версии Debian (на момент написания статьи 2010-03-27 это Debian Lenny). Часто, при использовании этой ОС люди выбирают либо стабильную ветку ропозиториев, либо тестовую и отличаются они версиями, содержащихся в них, пакетов. К сожалению, в стабильной ветке находится пакет rtorrent версии 0.7.9 в то время как новейшая версия уже достигла номера 0.8.6. В связи с этим, я расскажу об установке новейшей версии rTorrent отдельно для тестовой, и отдельно для стабильной веток репозиториев.

Установка rTorrent при стабильной ветке репозиториев Debian


В прошлый раз, при описании установки новейшей версии Transmission, я воспользовался компиляцией из исходиков что справедливо вызвало бурю негодований и критики :) В этот раз я покажу как добиться желаемого результата не прибегая к помощи компилятора.

Все что нам потребуется, так это подключить тестовую ветку репозиториев и установить из нее свежую версию пакета, но сделать это так, чтобы вся система в целом (за исключением нашего пакета) осталась на стабильной ветке. Выполнить эту задачу можно воспользовавшись механизмом «пиннинга» (не знаю как «pinning» благозвучно переводится на русский) подробнее о котором можно прочитать в официальной документации или, к примеру, вот здесь.

Для этого, в файл /etc/apt/sources.list нужно добавить тестовые репозитории:

deb http://ftp.ua.debian.org/debian/ testing main deb http://security.debian.org/ testing/updates main

Я добавлял украинское зеркало, вы же, выбирайте более подходящее вам в зависимости от географического положения или личных предпочтений ;)

Следующим шагом создадим файл /etc/apt/preferences и зададим в нем приоритеты для репозиториев таким образом, чтобы по-умолчанию выбирались пакеты из стабильной ветки:

Package: * Pin: release a=stable Pin-Priority: 700 Package: * Pin: release a=testing Pin-Priority: 650

Теперь нужно обновить список доступных пакетов:

# aptitude update

И выполнить установку последней доступной версии rTorrent:

# aptitude -t testing install rtorrent

где опцией "-t" мы явно задали использование тестового репозитория для установки данного пакета.

Далее переходим к настройке rTorrent.

Установка rTorrent при тестовой ветке репозиториев Debian

Tux
Если же у вас система изначально настроена на использование тестовой ветки репозиториев, то установка, в вашем случае, сводится всего к одной команде:

# aptitude install rtorrent

После этого можно переходить к настройке rTorrent.

Настройка rTorrent


Создаем файл с настройками ~/.rtorrent.rc подобный этому:

# Диапазон рабочих портов torrent клиента. # Если вы за NAT не забываем "пробросить" порты port_range = 32001-32049 # Включаем DHT dht = auto # UDP порт для DHT dht_port = 32000 # Обмен пирами peer_exchange = yes # Использовать ли UDP трекеры use_udp_trackers = yes # Директория в которую по-умолчанию будут загружаться файлы directory = /arch/.Downloading/ # Глобальные ограничения по скорости upload_rate = 80 download_rate = 800 # Директория для записи сессий rTorrent session = /home/username/.rtorrent_session # Задаем настройки для rpc управления scgi_port = 127.0.0.1:5000

Создаем папку для хранения сессии rTorrent:

$ mkdir .rtorrent_session

Вообще же, я привел лишь базовые настройки rTorrent. Более подробно о настройках этого замечательного torrent клиента можно прочитать вот тут, тут и тут.

Настройка автозагрузки rTorrent


Для того, чтобы rTorrent автоматически запускался при старте машины нужно выполнить несколько несложных действий. Вначале, установим screen, необходимый для обеспечения работы torrent клиента в фоне:

# aptitude install screen

Затем загрузим стартовый скрипт:

# cd /etc/init.d/
# wget http://libtorrent.rakshasa.no/raw-attachment/wiki/RTorrentCommonTasks/rtorrentInit.sh

Редактируем файл и указываем имя пользователя от которого будет запускаться rTorrent:

user="user"

Делаем файл исполняемым:

# chmod +x rtorrentInit.sh

Задаем владельцем файла системного пользователя root:

# chown root:root rtorrentInit.sh

Включаем «автозагрузку»:

# update-rc.d rtorrentInit.sh defaults

Все, теперь демон можно запустить выполнив вот такую команду:

# /etc/init.d/rtorrentInit.sh start

Теперь, во время каждой загрузки машины, будет автоматически запускаться и наш torrent клиент.

web-интерфейсы

konqueror
Для работы web-интерфейсов, как вы уже наверняка догадались, требуется web-сервер. Это может быть как Apache, так и Lighttpd, а, вполне вероятно, и какой-либо другой. Однако, для определенности, я буду рассматривать все примеры на базе Apache. Если у вас не установлен web-сервер, то следующий пункт для вас, иначе же — вы волны его просто пролистать.

Установка Apache


Для установки Apache необходимо выполнить несколько простых команд. Начнем с установки самого web-сервера и необходимого для удаленного управления rTorrent модуля scgi:

# aptitude install apache2 libapache2-mod-scgi

Задаем настройки модуля в файле /etc/apache2/httpd.conf:

SCGIMount /RPC2 127.0.0.1:5000

и включаем его:

# a2enmod scgi

Далее, устанавливаем PHP:

# aptitude install php5 php5-common libapache2-mod-php5 php5-curl

и перезагружаем Apache:

# apache2ctl restart

После установки Apache переходим к рассмотрению различных web-интерфейсов к rTorrent.

wTorrent


Для своей работы wTorrent требует базу данных sqlite. Установим ее:

# aptitude install sqlite3 php5-sqlite # apache2ctl restart

Теперь загружаем непосредственно сам wTorrent:

# cd /var/www/
# svn co svn://wtorrent-project.org/repos/trunk/wtorrent/

Задаем права доступа для web-сервера:

# chown -R www-data:www-data ./wtorrent/

Далее направляем браузер по адресу http://<ваш IP адрес>/wtorrent/install.php и настраиваем аналогично этому скриншоту:

wtorrent install
(Кликни для увеличения)

Обязательно, в целях безопасности, удаляем файл install.php:

# rm wtorrent/install.php

А теперь можно и оценить результат перейдя по адресу
http://<ваш IP адрес>/wtorrent/:

image
(Кликни для увеличения)

ruTorrent


Для настройки ruTorrent скачаем последнюю версию из SVN:

# cd /var/www/ # svn checkout http://rutorrent.googlecode.com/svn/trunk/rutorrent

И зададим права доступа для web-сервера:

# chown -R www-data:www-data ./rutorrent/

Теперь чтобы открыть только что установленный ruTorrent нужно направить браузер по адресу http://<ваш IP адрес>/rutorrent/. И вот как он выглядит:

ruTorrent
(Кликни для увеличения)

ruTorrent
(Кликни для увеличения)

Так же не могу не отметить что под ruTorrent существует множество полезных плагинов заметно расширяющих стандартные возможности. Так, с помощью плагинов можно реализовать обработку RSS лент, учет трафика, ограничение скоростей по расписанию и многое другое. Полный список плагинов находится здесь. Я же покажу процесс установки плагина на примере Tracklabels который будет автоматически добавлять метки в зависимости от трекера закачки.

# cd /var/www/rutorrent/plugins/ # svn checkout http://rutorrent.googlecode.com/svn/trunk/plugins/tracklabels # chown -R www-data:www-data /var/www/rutorrent/plugins/

При этом все остальные плагины добавляются аналогично. А посмотреть на результат установки плагина можно сразу же после обновления странички в браузере:

image
(Кликни для увеличения)

И еще одной, ну просто восхитительной, задумкой блеснул ruTorrent. А именно, в нем появляются зачатки многопользовательской работы где каждому человеку привязан свой экземпляр torrent клиента со своими собственными, ни от чего не зависящими настройками и ограничениями (к примеру по скорости). Более детально об этом можно прочитать по следующей ссылке:
forums.rutorrent.org/index.php?topic=87.0

Другие web-интерфейсы и программы для удаленного управления


На описанных мною web-интерфейсах список вовсе не заканчивается. Их не так уж и мало создано и разрабатывается. Список самых популярных можно посмотреть на официальном сайте rTorretn'а: libtorrent.rakshasa.no/wiki/UtilsList

И снова об автоматизации загрузок


Не забываю снова и снова напомнишь о такой удобной штуке как автоматизация загрузок ваших любимых сериалов с RSS лент различных трекеров. И несмотря на то что описанные выше web-интерфейсы имеют либо встроенные средства для обработки RSS лент (wTorrent), либо расширяются соответствующими плагинами (ruTorrent) этих средств, к сожалению, не всегда хватает. Более детально ниже:
  • Я уже как-то писал на эту тему вот тут (на примере LostFilm'a) и вот тут (на примере Кинозала). Оба решения реализованы в виде shell команд и основаны на grep, wget, curl;

  • Кроме того, еще один способ автоматизации с помощью FlexGet описывал Alukar вот тут;

  • И еще один вариант обработки RSS лент с помощью Yahoo Pipes рассмотрен хаброчеловеком AmoN вот в этом посте.
Так же помощниками в этом вопросе могут стать следующие два замечательных сервиса, уже описанные на Хабре: tvfёdor и Kinobaza.tv.

Тюнинг rTorrent при больших нагрузках


Про более тонкие настройки rTorrent при больших нагрузках можно прочитать как на официальном сайте, так и в комментариях пользователей:
  • Совет по использованию памяти от WoZ




Консоль с высоким разрешением

Для тех, кто постоянно (очень часто) работает в консоли linux, и при этом на столе стоит монитор диагональю в 20" и больше.

Стандартное разрешение - очень унылое и бедное. Изображение "зернистое", слабо читаемое, не информативное... От такого устают глаза и мозг. Что же делать с данной проблемой? Забить и жить дальше или сделать следующие простые действия (source):

Выполняем:

Код:
# apt-get install v86d
# echo uvesafb >> /etc/initramfs-tools/modules

Смотрим доступные разрешения:

Код:
# modprobe uvesafb
# cat /sys/bus/platform/drivers/uvesafb/uvesafb.0/vbe_modes

Создаем конфиг:

Код:
echo "options uvesafb mode_option=1680x1050-32 scroll=ywrap" > /etc/modprobe.d/uvesafb.conf

Правим /etc/default/console-setup

Код:
FONTFACE="Terminus"
FONTSIZE="16"

Пересобираем initrd и перезагружаемся.

Код:
update-initramfs -k all -u
 
Все, имеем желаемое разрешение. 

вторник, 4 сентября 2012 г.

Установка "навороченного" хранителя экрана в Ubuntu

Для получения настраиваемого скринсейвера в Ubuntu 11.10 (для более ранних, к примеру 10.04, тоже катит) необходимо проделать следующие манипуляции (source):

удаляем существующий бестолковый gnome-screensaver:
Код:
sudo apt-get remove gnome-screensaver

устанавливаем XScreenSaver:
Код:
sudo apt-get install xscreensaver xscreensaver-gl xscreensaver-gl-extra xscreensaver-data-extra

После установки, откройте Даш (клавиша <Super>), впишите в строку поиска хра и клик на значок:


Настройте его на своё усмотрение:


Для текстовых скринсейверов можно брать текст в RSS-канале

Для того чтобы Хранитель экрана запускался при входе в систему, его нужно прописать в Автозапуск программ, (что находится в выключателе) следующим образом:  клик на кнопке Добавить и в открывшемся окне в строке "Имя:" – Хранитель экрана, а в строке "Команда:" – xscreensaver -nosplash:


Если вы хотите заблокировать экран когда компьютер простаивает, примените следующую команду в терминале:
Код:
sudo ln -s /usr/bin/xscreensaver-command /usr/bin/gnome-screensaver-command
Для её применения нажмите сочетание клавиш <CTRL> + <ALT> + L и ваш экран будет заблокирован. Для разблокировки нужно будет ввести пароль.

Чтобы Хранитель экрана не срабатывал во время просмотра фильма, установите программу Caffeine:
Код:
sudo add-apt-repository ppa:caffeine-developers/ppa
sudo apt-get update
sudo apt-get install caffeine python-glade2

После установки откройте Даш, впишите в строку поиска caf и клик на значок:


После того как чашечка с кофеином отобразится в трее (правая часть верхней панели), клик на ней, в контекстном меню выберете Параметры и настройте программу под свои нужды. Для того чтобы просматривать фильм без остановки, активируйте пункт Отключить хранитель экрана.

Чтобы отменить проделаные изменения выполняем следующие команды:
Код:
sudo apt-get remove xscreensaver xscreensaver-gl xscreensaver-gl-extra xscreensaver-data-extra
sudo rm /usr/bin/gnome-screensaver-command
sudo apt-get install gnome-screensaver

среда, 29 августа 2012 г.

Отсутствует звук в Ubuntu 10.04 LTS / Joli OS

При установке на мой рабочий ноутбук ASUS X52F поседнего релиза Jolicloud 1.2, основой которой является Ubuntu 10.04 LTS с версией ядра 2.6.35.10-0 я столнкулся со следующей проблемой: звук в системе есть, но встроенный в мать микрофон отказываетя работать. Любые манипуляции с ним не привели к желаемому результату. А пробовалоь следующее:

- полное удаление pulseaudio
- отключение pulseaudio
- использоватние стороних микшеров и т.п.
- метод с отключением автоподстройки громкости в скайпе и заглушением громкости на одном из каналов входа
- использование OSS в качестве звукового устройства

!!! При этом в "Запись звука" встроенными средствами системы микрофон ТОЖЕ НЕ РАБОТАЕТ!!!

Проведя в интернете денек-два, я решил, что неплохо было бы обновить ядро, в справедливой надежде на то, что хоть это как-то исправит ситуацию. И, о чудо, все заработало!

Что я делал: 

1) Пошел на сюда и взял ядро 3.3.0 (не помню точно, но где-то вычитал, что лучше всех дружит с железом)

2) Скачал и установил следующие пакеты и именно в таком порядке:

linux-headers-3.3.0-030300_3.3.0-030300.201203182135_all.deb 

linux-headers-3.3.0-030300-generic_3.3.0-030300.201203182135_i386.deb

linux-image-3.3.0-030300-generic_3.3.0-030300.201203182135_i386.deb

Затем рестартанул систему и, вуаля, имею рабочий вход и выход бе каких-либо костылей.

Спешу заметить, что на всякий случай делал это все на только что установленную систему, ибо зависимости пакетов могут все пересрать, как мне кажется. 

суббота, 18 августа 2012 г.

Замена Nautilus'а KDE'шным Dolphin'ом (Debian/Ubuntu)

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

sudo apt-get install dolphin ark

Это установит Dolphin и архиватор к нему. Далее делаем следующее:

Создаем папку /home/ИмяПользователя/bin/

sudo mkdir ~/bin

И в ней создаем файл:

sudo nano ~/bin/nautilus 

С вот-таким содержанием:

#!/bin/bash
exec dolphin $@ 
exit 0

Делаем его исполняемым:

sudo chmod +x ~/bin/nautilus

Затем редактируем файл:

sudo nano /usr/share/applications/nautilus-folder-handler.desktop

В нем nautilus --no-desktop %U заменяем на dolphin %U и сохраняем файл.

Завершаем текущую сессию, входим в систему обратно - получаем Dolphin вместо Nautilus. Приятного пользования.

четверг, 16 августа 2012 г.

Установка Wine в Debian Squeeze GNOME

В процессе установки и настройки свежей Debian Squeeze столкнулся со следующей проблемой: нигде нет внятной инструкции по установке. Покопавшись, нашел одну толковую и решил дополнить её парой моментов. Вот конечный, на мой взгляд, оптимальный на данный момент вариант способа установки Wine в Debian Squeeze:

1) Подключим репозиторий Lamaresh:

sudo nano /etc/apt/sources.list

добавим следующую строчку:

deb http://www.lamaresh.net/apt squeeze main

2) Скачиваем ключ:

sudo wget http://www.lamaresh.net/apt/key.gpg

и установим его:

sudo apt-key add key.gpg

3) Обновляем кэш репозиториев:

sudo apt-get update

и устанавливаем непосредственно Wine:

sudo apt-get install wine wine-gecko

Все, вайн установлен и готов к работе. Запустите любое .exe (.msi etc.) приложение и в меню запуска программ появится каталог Wine. Ну или завершите текущий сеанс и снова войдите в систему.

Надеюсь, кому-то пригодится данная статейка.

UPDATE:

Для Debian Squeeze установка катит из убунтовского репозитория:

sudo nano /etc/apt/sources.list

#wine

deb http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu lucid main

Затем берем отсюда ключ, создаем файлик, скажем wine.key, копируем в него текст ключа, сохраняем и добавляем его:

sudo apt-key add wine.key

sudo apt-get update

sudo apt-get install wine

Все, заебцом работает :)

вторник, 14 августа 2012 г.

Печать на принтер из Ubuntu БЕЗ ДРАЙВЕРОВ (Part II)

Как я уже упоминал в первой части статьи, главная цель - заставить принтер, на который нет драйверов для Linux, печатать. Для этого была создана виртуалка с Windows XP SP3 VL, которая была прикручена к домену и раздавала в AD принтер, чтобы пользователи, подключенные терминально к 2003-му серверу могли из 1С печатать на этот принтер. Ну и соответственно чтобы можно было печатать на этот принтер с любой линуксовой машины в сетке. Но! Есть некоторые моменты, которые не учел или не упомянул автор мануала, по которому я решал поставленную задачу. А именно:

Winp (который преобразует в pdf распечатываемый файл и отсылает его в расшаренную папку на виртуалке, чтобы та в свою очередь через питоновский скрипт выводила его на печать) не очень мягко говоря дружит с авторизацией в домене, из-за чего у меня постоянно вышибала ошибка "NT_Authentification_Error" (ну или в таком духе - дословно не записывал). Эту проблему я решил добавлением еще одного сетевого адаптера в виртуалку, который смотрел во внутреннюю сеть адаптера на хосте. И получает от него свой IP по DHCP. Далее на виртуалке я прикрутил к системе локального пользователя, не относящегося к AD, и назвал его test, пароль ему дал test1234. В настройках все того же winp в Ubuntu я прописал данные авторизации этого пользователя, что позволило мне все-таки получить доступ к расшаренной по smb папке на вируталке. И ДА!!!!! В этом же файле перед данными авторазации нужно указать прямой путь к smbclient, о чем никак не упоминает ни автор мануала, ни автор скрипта. У меня эта часть выглядит так:
...........
SMBBIN=/usr/bin/smbclient
SMBUSER=test
SMBPASS=test1234
...........

Далее нужно в настройках уже созданного ранее виртуального принтера на Ubuntu указать новый адрес, по которому теперь winp должен будет стучать в расшаренную папку. Причем указывать нужно именно NETBIOS имя виртуалки в сети, ибо если указать IP, то ничего работать не будет. У меня это:

winp://WINVBOX/spool

Все, применяем изменения, перезапускаем на всякий случай CUPS и пробуем печатать. Если все сделано верно и по мануалу, то печать пойдет. И не пугайтесь, если печать начнется не сразу, а секунд через 5-10: скорость зависит от выделенных виртуалке ресурсов системы. У меня они минимальные.

Надеюсь, кому-то эта статья будет полезна. Первая часть её находится ниже и под катом Part I.

понедельник, 13 августа 2012 г.

Печать на принтер из Ubuntu БЕЗ ДРАЙВЕРОВ (Part I)

Бывает, что у вас нет никсовых драйверов на, скажем, принтер или офисную МФУшку, и потому приходится выходить из положения путем создания виртуальной машины с "хрюшкой", которая бы стартовала вместе с системой и без графики, то-есть не выводила бы абсолютно ничего при запуске, и при этом раздавала бы в сеть принтер. К сетевому принтеру уже можно подключить виртуальный принтер в Ubuntu при помощи сервера печать CUPS. Но об этом попозже. Для начала заставим нашу виртуалку с установленным принтером стартовать разом с системой....

Итак, допустим, вы уже создали и настроили виртуалку с виндой. Если она имеет название из более чем одного слова, то сократите его до одного, ибо в дальнейшем это будет весьма удобно. Теперь, когда виртуалка готова, пропишем в командной строке.

VBoxHeadless --startvm <uuid|name>

<uuid | name> здесь - название вашей виртуальной машины. Пишется без <>. 
 Это запустит виртуалку, имя которой вы указали без вывода графики. Все, машина в сети и принтер, который присоединен к ней, тоже. 

!!! Не забываем ставить дополнения гостевой ОС, а то не получите доступа к USB на виртуалке. Также не забудьте создать виртуалке отдельный USB-порт, к которому по умолчанию будет привязан принтер.

Теперь нужно настроить машину с Ubuntu для работы с принтером, ибо хоть он и сетевой, драйверов для него все так же нет. Делал я все по статье (source), ниже приведу её в не измененном виде (т.к. она замечательно написана и в правке не нуждается), так, на всякий противопожарный.

Для кого эта статья HOWTO?

Для тех, кто имеет хотя бы 1 компьютер под windows, и 1 или несколько компьютеров под linux, объединенные в сеть. Эта статья HOWTO предполагает, что принтер присоединен к компьютеру под windows, который всегда включен, и этот принтер правильно установлен под windows.

Почему Вам это может понадобиться?

Без описываемого метода Ваш принтер должен поддерживаться linux для возможности печатать из-под linux, даже если он присоединен к компьютеру с windows и Вы хотите печатать на нем по сети с помощью SMB. Между тем теоретически при наличии компьютера с Windows в сети, к которому присоединен Ваш принтер, Вы можете печатать на ЛЮБОМ принтере независимо от того, поддерживается ли он в linux. Я проверил этот метод для принтера HP LaserJet 5L (который обычным образом поддерживается под linux), и для принтера Canon imageCLASS MF3110 (который вообще НЕ поддерживается под linux в момент написания статьи). Обратите внимание, что единственное необходимое изменение в подключении принтеров - это назначение принтера по умолчанию на компьютере под windows.

Требования/допущения, относящиеся к компьютеру под Windows

  • Принтер присоединен к компьютеру под windows PC и драйвер правильно установлен
  • Разрешен общий доступ к файлам и принтерам на компьютере под windows
  • Установлен AFPL Ghostscript по ссылке http://www.cs.wisc.edu/~ghost/ (это не требуется для опции использования Acrobat)
  • Установлен GSview по ссылке http://www.cs.wisc.edu/~ghost/ (это не требуется для опции использования Acrobat)
  • Установлен Adobe Acrobat по ссылке http://adobe.com (требуется только для опции использования Acrobat)
  • Установлен Python по ссылке http://www.python.org/download/
  • Установлены расширения Python Win32 Extensions по ссылке http://starship.python.net/crew/mhammond/win32/Downloads.htm
  • Указанный принтер является принтером по умолчанию и желаемые его настройки (качество печати и т.д.) являются текущими настройками принтера
  • Все должно работать с большинством вариантов windows, но я проверял только на win2000

Требования/допущения, относящиеся к компьютеру под Linux

  • Установлен и правильно работает CUPS
  • Установлен клиент SAMBA (smbclient)

Настройка компьютера под Windows

Общий доступ к принтерам

Компьютер под windows реально не дает общий доступ к принтеру через SMB. Вместо этого общий доступ дается к директории (папке), которая будет использоваться как папка для помещения туда данных для печати (spool/dropbox).
Во-первых, создайте пользователя с помощью Панели управления windows. В приводимом примере именем пользователя будет "print", а паролем также "print". Вам следует использовать более надежный пароль.
Во-вторых, создайте папку для общего доступа. В данном примере я использую c:\temp\spool , а имя Вашего компьютера под windows windows_pc
В-третьих, разрешите общий доступ к этой папке и дайте пользователю print полный доступ к ней
Проверьте, что Вы имеете доступ к общей папке с компьютера под linux с помощью smbclient. То есть выполните команду: smbclient //windows_pc/spool -U print и убедитесь, что вы можете выполнять поместить файл командой put в эту общую папку

Скрипт Dirwatch

Далее нам нужен скрипт dirwatch.py , который можно получить по ссылке dirwatch.py. Сохраните его где-нибудь, например, в c:\scripts\dirwatch.py. Убедитесь, что Вы переименовали его в dirwatch.py (я сначала назвал его dirwatch.txt и мой web-сервер не хотел его выполнять!) Скрипт dirwatch основан на Большом примере Тима Голдена (Tim Golden), доступном по ссылке http://tgolden.sc.sabren.com/python/win32_how_do_i/watch_directory_for_changes.html
Откройте для редактирования скрипт dirwatch.py и сделайте следующие изменения:
  • Измените переменную path_to_watch (близко к началу) на Вашу общую папку. УБЕДИТЕСЬ, что обеспечили вывод всех символов \ , например, c:\temp\spool должно быть записано как "c:\\temp\\spool".
  • Измените переменную cmd (близко к концу) так, чтобы путь к файлу gsprint.exe был правильным. ВНИМАНИЕ: даже если Ваш принтер черно-белый, Вы должны все же там оставить опцию -color , иначе возможны проблемы. Эта опция обеспечивает 24-битовую шкалу оттенков серого, вместо 8-битовой.
Выполните скрипт dirwatch двойным кликом мыши на нем. Откроется окно с результатом его выполнения
Проверьте скрипт dirwatch путем использования smbclient (как описано выше) для записи (PUT) и затем переименования (RENAME) файла на языке postscript (с расширением .ps) в Вашу общую папку. Если все работает правильно, этот файл .ps будет напечатан на Вашем принтере и Вы увидите результат в окне терминала python на компьютере под windows
ВНИМАНИЕ: Скрипт dirwatch только распознает файлы, когда они ПЕРЕИМЕНОВЫВАЮТСЯ, поэтому Вам обязательно нужно сначала создать файл в папке, которую Вы указали в переменной path_to_watch, а потом переименовать его.
Теперь, когда скрипт dirwatch работает, прекратите процесс выполнения этого скрипта. Переименуйте dirwatch.py в dirwatch.pyw. С расширением .pyw не будут открываться окна командной строки во время выполнения скрипта.
Выполните новый скрипт dirwatch.pyw и поместите ярлык для него в папку автозагрузки, так чтобы он выполнялся автоматически при загрузке
ВНИМАНИЕ: Если Вы когда-либо заметите, что файлы печатаются в нескольких экземплярах, возможно, что запущены 2 или более копий скрипта dirwatch.pyw . Откройте диспетчер задач и прервите выполнение лишних копий процесса pythonw.exe . Это должно решить проблему.
Теперь компьютер под Windows полностью настроен.

Настройка компьютера под Linux

Установка Distiller PPD (удалитель иусора)

Должен быть установлен Adobe distiller PPD там, где CUPS сохраняют свои PPD. Этот мусорщик distiller PPD называется ADIST5.PPD и упакован в zip-файле, доступном по ссылке http://www.adobe.com/support/downloads/273e.htm
Извлеките из архива ADIST5.PPD и поместите в папку, где CUP хранят PPD. Обычно это /usr/share/cups/model/. Вы должны также переименовать его маленькими латинскими буквами, adist5.ppd.

Скрипт winp

Скачайте скрипт winp по ссылке winp. Разрешите его выполнение и поместите его туда, где CUPS хранит свои backend скрипты, обычно это /usr/lib/cups/backend/. Скрипт winp является модификацией скрипта pdfdistiller , автор которого - Michael Goffioul
Создайте папку для очереди печати в файловой системе linux для использования скриптом winp. В приводимом примере я использую папку /var/spool/winp. Убедитесь, что есть доступ для записи в эту папку для пользователя, под которым выполняется CUPS, обычно этот пользователь входит в группу lp. Предполагая, что CUPS выполняется от имени пользователя, входящего в группу lp, этой цели можно добиться выполнением команды chgrp lp /var/spool/winp и затем chmod g+w /var/spool/winp.
ВНИМАНИЕ: Это ОТДЕЛЬНАЯ папка для очереди печати на компьютере под linux. Это не та папка общего доступа, которая находится на компьютере под windows. Это - просто некоторая локальная папка для временного размещения данных при печати
Откройте скрипт winp для редактирования и сделайте следующие изменения:
  • Измените SPOOLDIR на адрес Вашей папки очереди печати, например, /var/spool/winp
  • Измените SMBUSER на имя пользователя, которое Вы использовали при настройке компьютера под windows, например, print
  • Измените SMBPASS на пароль вышеуказанного пользователя, использованного при настройке компьютера под windows, например, print
Перезапустите CUPS , чтобы он распознал новый скрипт winp среди скриптов backend.

Настройка принтера CUPS

Теперь создайте новый принтер CUPS, который использует этот backend-скрипт winp и сборщика мусора adobe distiller, выполнив с правами root следующую команду: lpadmin -p windows_printer -E -v winp://windows_pc/spool -m adist5.ppd Имейте в виду, что для параметра adist5.ppd малые и большие буквы различаются, так что мы предполагаем, что Вы переименовали этот файл малыми буквами. Параметр windows_printer - это имя Вашего нового принтера, и Вы должны заменить //windows_pc/spool на имя Вашего компьютера под windows и имя папки общего доступа для данных печати на этом компьютере под windows. Не забывайте winp: в начале.
Попробуйте напечатать на Ваш новый принтер CUPS. Надеюсь, он работает!. Если нет, посмотрите журнал ошибок CUPS, обычно это файл /var/log/cups/ (попробуйте изменить уровнь подробности выдачи в журнал - log level - в CUPS и перезапустить CUPS), а также посмотрите журнал winp в файле /tmp/winp.log. Одно из этих двух мест должно помочь Вам найти причину возникших проблем.

Использование вместо этого варианта adobe acrobat (необязательная опция!)

Если у Вас проблема с использованием gsprint, например, проблема с качеством печати или печать использует слишком много ресурсов процессора или памяти на Вашем компьютере с windows, то попробуйте изложенные в этом разделе инструкции.
Я обнаружил, что использование ghostscript на компьютере под windows обеспечивает несколько другое качество печати. Иногда результаты печати с использованием acrobat вызывали очень небольшие проблемы выравнивания текста, когда заполнение областей объекта печати было слегка за пределами границы печати (нужно смотреть очень внимательно, чтобы это заметить). В других случаях ghostscript был немного лучше (опять же нужно смотреть очень внимательно). Кроме того, для использования acrobat Вам нужно сначала преобразовать файл в формат PDF, что увеличит использование процессора (и увеличит шансы загрязнения текста во время преобразования). Наконец, если Вы используете acrobat в то время как кто-то печатает на принтере из-под windows, появится окно acrobat в панели задач. Оно будет свернутым и закроется само, но оно станет активным вместо того, с которым работает пользователь.
По скорости и использованию памяти Acrobat явно лучше. Я не знаю, является ли причиной обработка файлов PDF вместо бОльших по размеру файлов PS, или что-то другое. Если Ваш компьютер под windows имеет медленный процессор или малую память, то опция Acrobat может оказаться лучше для Вас.
В любом случае, если Вы предпочтете использование acrobat на Вашем компьютере под Windows, скачайте скрипт winp-pdf по ссылке winp-pdf и отредактируйте его тем же способом, как описано выше в разделе для скрипта winp. Отредактируйте также скрипт dirwatch.py и уберите знак комментария в строке с acrorc32.exe и соответственно поставьте знак комментария в строке с gsprint.exe . Также Вам нужно будет получить файл gdputil.exe по ссылке http://www.watchdirectory.net/watchDir/GdPUtil.html и поместить его в папку, входящую в системный путь path (например, в папку c:\winnt\system32).

Ограничения

  • Если компьютер под windows выключен, а Вы пытаетесь печатать, то CUPS-принтер остановится самостоятельно. Вам понадобится вручную перестартовать этот принтер, когда Ваш компьютер под windows снова будет включен и доступен, с помощью интерфейса администрирования CUPS.
  • Я не думаю, что исчезнет большое количество параметров настройки из компьютера под linux таких как качество печати, сортировка и т.д.
  • Сетевой пользователь SMB и его пароль явно вводятся в текст скрипта winp. Было бы лучше, если они будут частью URI , использованного, когда Вы устанавливали этот принтер под CUPS. Вам придется добавить эту возможность, если Вы хотите использовать несколько принтеров с разными паролями.

пятница, 10 августа 2012 г.

Добавление пользователя в sudoers

Для добавления пользователя в sudoers вводим в терминале следующее:

sudo nano /etc/sudoers

В открывшемся файле идем в самый низ списка и добавляем нужного пользователя по следующему алгоритму:

user ALL=(ALL) ALL 

где user - логин вашего пользователя в системе. Далее жмем Ctrl+O и затем Ctrl+X. Все, пользователя получил права рута.

четверг, 9 августа 2012 г.

Colorget

Мне пригодилась одна маленькая, но весьма полезная программка, помогающая определить цвет чего-либо на мониторе. Будь то страница в браузере или окошко файл-менеджера. Скачать её можно здесь

Разархивировали, запустили экзешник, нажали Start... Теперь водим указателем по экрану и смотрим показания программки.


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