Создать файл ~/.gimp-2.8/fonts.conf вот с таким содержимым:
<fontconfig>
<match target="font">
<edit name="rgba" mode="assign">
<const>none</const>
</edit>
</match>
</fontconfig>
Изначально проблема проявляется так: на краю отрендеренного текста цветные пятна.
В SSH есть крайне полезная фича, позволяющая организовать прозрачный проброс трафика через практически любой SSH-сервер. Такое туннелирование позволяет сравнительно легко переключаться между прокси-серверами из разных стран, а весь трафик автоматически шифруется (так как передаётся внутри ssh-сессии). Для работы достаточно самой дохлой VPS-ки, которую можно сейчас купить за очень небольшие деньги. Несколько виртуалок в разных странах — и получаем набор прокси на любой случай.
Принцип туннелирования простой: подключаемся к ssh-серверу со специальными опциями и получаем SOCKS-прокси, висящий на указанном в опциях порту локальной машины. Что самое приятное — на удалённой машине не надо ставить никакой софт, плюс необязательно быть суперпользователем, достаточно обычного аккаунта.
Дальше я детально опишу сценарий настройки и конфигурации такой системы.
В файле ~/.ssh/config можно писать алиасы для используемых хостов, указывать для разных хостов разные ключи и так далее.
Host home
HostName home.example.com
Port 1488
Ciphers arcfour,blowfish-cbc
Compression yes
CompressionLevel 9
Host github.com
IdentityFile ~/.ssh/id_rsa-github
Host bitbucket.org
IdentityFile ~/.ssh/id_rsa-bitbucket
Перед вами 1001-я статья о GnuPG, не читайте её.
Здесь написано о GnuPG, как им пользоваться и при этом понимать, что делаешь.
В статье идёт речь исключительно о консольном клиенте
gpg, удобнее всего им пользоваться в терминале на юникс-машине.
Официальный сайт GnuPG здесь, огрызки смыслов в виде официального руководства здесь, статья в ру-википедии здесь. А эта статья адресована техноманьякам, поскольку нормальные люди GnuPG (как и PGP) использовать не будут.
Типичная ситуация: коннектимся с машины M1 на машину M2 через SSH, затем на машине M2 меняем юзера через sudo и хотим там запустить X11-приложение, чтобы оно открылось на дисплее машины M1. Это может быть, например, отладчик или графическая гуйня к базе.
Дальше я по шагам распишу все этапы подключения с комментариями.
Постоянно нужно и всегда забываю.
% arecord - | aplay -
encfs позволяет прозрачно шифровать каталог с файлами, используется достаточно надёжный метод, такой каталог можно сравнительно безбоязненно положить в Dropbox, например. Для доступа этот каталог монтируется через fuse с вводом пароля, после чего с ним можно работать как с обычным каталогом, все данные перешифровываются на лету.
В debian/ubuntu ставится в два шага:
# apt-get install encfs
# adduser USER fuse
После чего перелогиниться, чтобы пользователь проявился в группе fuse.
Эта вот строчка мне каждый раз мозг выносит — куда воткнуть NOPASSWD в sudoers, чтобы заработало:
%sudo ALL=(ALL:ALL) ALL
А разгадка проста:
%sudo ALL=(ALL:ALL) NOPASSWD:ALL
Аккаунт на ssh-сервере очень легко использовать для создания SOCKS-прокси, причём для этого достаточно обычного непривилегированного аккаунта. Всё делается очень легко:
% ssh -D 127.0.0.1:13388 user@example.com
После этого указываем в клиенте (веб-браузере, например) адрес SOCKS-прокси 127.0.0.1, порт 13388 и пользуемся.
По сути ssh-клиент организует туннель, по которому гоняется трафик. Особенным плюсом является то, что на стороне сервера не нужно вообще никакого специального софта для создания туннелей.
Ещё один полезный рецепт — создание туннеля до сетевого сервиса, работающего на удалённом сервере. Делается это так:
% ssh -L LOCAL_ADDR:2222:HOST_ADDR:80 user@example.com
При этом происходит следующее: все соединения к адресу LOCAL_ADDR:2222 (для бо́льшей безопасности можно указывать LOCAL_ADDR равным 127.0.0.1) будут перенаправляться через SSH-соединение на адрес HOST_ADDR:80. Таким образом можно пробрасывать любое сетевое-соединение; самый простой пример — до http-сервера, видного только в сети ssh-сервера.
Вот пример:
% ssh -L 127.0.0.1:5900:127.0.0.1:5900 user@example.com
Иногда нужно внедрить шрифты в уже существующий PDF-файл, но ссылки на шрифты в котором относительные, например, команда pdffonts показывает такое:
% pdffonts build.pdf
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
Helvetica Type 1 no no no 2 0
Helvetica-Bold Type 1 no no no 3 0
ZapfDingbats Type 1 no no no 249 0
Courier Type 1 no no no 252 0
Symbol Type 1 no no no 253 0
Helvetica-Oblique Type 1 no no no 261 0
Helvetica-BoldOblique Type 1 no no no 430 0
Видно, что все шрифты не внедрённые (колонка emb). Спасает gs:
gs -q -dNOPAUSE -dBATCH -dPDFSETTINGS=/prepress -sDEVICE=pdfwrite -sOutputFile=output.pdf build.pdf
После её выполнения всё в порядке:
% pdffonts output.pdf
name type emb sub uni object ID
------------------------------------ ----------------- --- --- --- ---------
BOTQQP+Helvetica Type 1C yes yes no 619 0
BHJYCF+Helvetica-Bold Type 1C yes yes no 617 0
AUENQH+ZapfDingbats Type 1C yes yes yes 865 0
KTOSAE+Symbol Type 1C yes yes no 874 0
UMOKIT+Courier Type 1C yes yes no 872 0
LJPUJQ+Helvetica-Oblique Type 1C yes yes no 901 0
YQLVGH+Helvetica-BoldOblique Type 1C yes yes no 1408 0
P.S.
На названия конкретных шрифтов не обращайте внимания, по сути там будут те шрифты, в которые преобразуются алиасы типа Helvetica на вашей машине.