Вступление
В предыдущем посте я рассказал об незаменимой вещи - утилите wgetpaste (скачать). (Кстати, ее автором является почтенный камрад Zlin, известный многим психам фанатам kde4 trunk в Gentoo). Ну, рассказал - это громко сказано. Скорее просто сказал
Особо не было времени описать ее настройки. Сейчас попробуем рассмотреть этот шедевр более пристально.
Обзор возможностей и настройка
Итак, при более детальном изучении оказалось, что утилитка ооочень вкусная. Я попробую описать различные опции и сразу же отметить, как это настроить в конфиге, поэтому давайте сразу условимся - конфиг храним тут: ~/.wgetpaste.conf
Выбор сервиса
Для начала посмотрим, куда умеет постить файлы/строки wgetpaste:
solshark@solshark ~ $ wgetpaste -S
Services supported: (case sensitive):
Name: | Url:
========|=================
ca | http://pastebin.ca/
*dpaste | http://dpaste.com/
osl | http://pastebin.osuosl.org/
rafb | http://rafb.net/paste/
Как видим, выбран сервис dpaste. Допустим, этот сервис нравится не всем. Открываем конфиг, добавляем строку
DEFAULT_SERVICE="rafb"
Начиная с этого момента wgetpaste будет использовать указанный вами сервис. Все просто и понятно:
solshark@solshark ~ $ wgetpaste -S
Services supported: (case sensitive):
Name: | Url:
========|=================
ca | http://pastebin.ca/
dpaste | http://dpaste.com/
osl | http://pastebin.osuosl.org/
*rafb | http://rafb.net/paste/
Если же вам нужно изменить сервис только для одного сеанса расшаривания, то можно использовать опцию -s:
$ wgetpaste -s osl /dev/urandom
К слову, с сервисом osl wgetpaste на самом деле не работает. Там CAPTCHA. Сразу уточню - все дальнейшие действия я буду выполнять с сервисом dpaste.
Выбор языка
Аналогичным образом можно изменить язык, на котором написанно сообщение/файл, который вы пытаетесь расшарить. (Если вдруг на эту статью наткнется кто-то далекий от специфики pastebin, уточняю - речь не идет о переводе с одного языка на другой (с латыни на пайтон). Эта опция подскажет сервису pastebin какую подсветку синтаксиса нужно использовать).
Просмотреть список всех доступных (для указанного сервиса) языков можно командой wgetpaste -L:
solshark@solshark ~ $ wgetpaste -L
Languages supported by dpaste: http://dpaste.com/ (case sensitive):
Apache Config
Bash
CSS
Diff
Django Template/HTML
Haskell
JavaScript
*Plain Text
Python
Python Interactive/Traceback
Ruby
Ruby HTML (ERB)
SQL
XML
Переопределить язык можно опцией -l либо следующей строкой конфига:
DEFAULT_LANGUAGE="Python"
ВНИМАНИЕ: доступность или недоступность того или иного языка зависит от выбранного сервиса.
Прочие настройки
Думаю, общий способ конфигурирования этой петрушки понятен и типичен. Чтобы не вдаваться в детали, предлагаю вашему вниманию таблицу дополнительных опций:
| Опция | Описание | Значение по-умолчанию | Строка в конфигурационном файле |
|---|---|---|---|
| -d | Description - описание объекта который, вы постите | stdin или имя файла | n/a |
| -n | nick - под каким юзернеймом постить | имя пользователя, под которым вы залогинились | DEFAULT_NICK="LOR" |
| -e | expiration - как долго хранить опубликованную запись. Возможные значения зависят от выбранного сервиса. | 30 дней | DEFAULT_EXPIRATION="30 days after last view" |
Тюнинх
Можно настроить wgetpaste для использования специфических параметров для конкретного сервиса. Делается это очень просто. К названию переменной добавляем название сервиса:
DEFAULT_SERVICE="dpaste"
DEFAULT_LANGUAGE="Python"
DEFAULT_NICK="pontecorvo"
DEFAULT_EXPIRATION="30 days"
DEFAULT_LANGUAGE_osl="Ada"
DEFAULT_NICK_osl="pontecorvo"
DEFAULT_EXPIRATION_osl="1 day"
DEFAULT_LANGUAGE_ca="Lua"
DEFAULT_NICK_ca="pontecorvo"
DEFAULT_EXPIRATION_ca="1 hour"
Работа с буфером обмена
Да, это чудище может работать не только с файлами, но и с буфером обмена. Нам понадобится пакет xclip:
emerge -av xclip
На а дальше все просто. Копируете нужный текст в буфер обмена и
wgetpaste -x
Для того, чтобы ссылка с результатом автоматически помещалась в буфер обмена после выполнения операции расшаривания используем опцию -X.
Публикуем вывод команды
Тоже иногда бывает полезно. Опция -c <команда> позволяет опубликовать отлуп от команды:
wgetpaste -c cal
Gentoo-features
Специально для гентушников есть еще две приятные опции:
-i : добавить к публикуемому тексту вывод emerge --info
-I : опубликовать только emerge --info
Рекомендация (и скриншотег)
Лично я в целях автоматизации сделал следующее:
solshark@solshark ~ $ cat ~/.bashrc | grep alias
alias shareclip='wgetpaste -x -X'
Получилась команда, которая публикует буфер обмена и возвращает URL результата. Можно ее вызывать из терминала, можно повесить на хоткей. Очень круто. Всем рекоменую. А вот так я это использую в повседневной жизни:

3 комментариев
Интересная заметка! Добавил в закладки!
Теперь код постить где надо будет проще
)
А как добавить свою пасту? А то что-то там нету pastebin.org. Я пробовал дописать в /usr/bin/wgetpaste, но устал думать и так и не сделал
Другого пути нет – только редактировать сам скрипт. Надо думать