19.12.2008

Сервис - создает из фотографии обложку журнала

Вот нашел интересный сервис - создает из фотографии обложку журнала.
http://www.magmypic.com Fake magazine covers and comics with your picture
Результат работы:

А здесь можно наложить множество эффектов на сое фото http://ru.photofunia.com

02.12.2008

Как создавать PDF



Источник

Используя OpenOffice.org, вы можете без проблем сохранять документы. Достаточно в меню Файл найти пункт Экспорт в PDF… Однако, что делать если хочется иметь возможность экспорировать в PDF любые документы из любого редактора? Выход есть.Он заключается в установке программного принтера, сохраняющего отправленные на него документы в PDF.То есть, любая программа, которая имеет возможность печати, сможет сделать это.

Для установки программного принтера пропишите в терминале:

sudo apt-get install cups-pdf

sudo chmod +s /usr/lib/cups/backend/cups-pdf

Теперь, собственно, нужно создать сам принтер. Выбираем в меню Система - Администрирование - Печать и в открывшемся окне делаем 2-ой щелчок на кнопке Добавить.

Добавление принтера

В открывшемся диалоговом окне заполняем всё, как на скриншотах ниже.

Добавление принтера — Первый шаг

Добавление принтера — Второй шаг

Добавление принтера — Третий шаг

Теперь осталось выбрать при печати принтер под названием PDF.

По умолчанию файлы будут сохраняться в поддиректорию PDF вашей домашней директории.

Для того чтобы сменить место назначения, необходимо открыть файл /etc/cups/cups-pdf.conf под правами администратора (sudo gedit /etc/cups/cups-pdf.conf), найти в нем строчку “Out ${HOME}/PDF”, изменить ее на путь который необходим Вам, например: “Out ${HOME}/Documents/PDF” и сохранить файл. Для того чтобы Ваши изменения вступили в силу, необходимо перезагрузить сервис cupsys (sudo /etc/init.d/cupsys restart).


Синхронизация настроек SSH-клиента между компьютером и ноутбуком


Источник


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

Ручная синхронизация занимает длительное время и не очень удобна, поэтому было приятно решение автоматизировать синхронизацию с помощью скрипта. Далее будет показано как именно это было сделано.

Вобщем-то сам скрипт не сложен и его работа становится очевидной из коментариев, поэтому просто приведём его листинг:

#!/bin/sh

# IP-адрес ноутбука
IP="192.168.111.71"

# Подготавливаем временную директорию
echo -n "Creating temporary directory..."
rm -rf '/tmp/syncssh'
mkdir -p '/tmp/syncssh'
echo "...OK"

# Сгружаем во временную директорию файлы с ноутбука
echo -n "Downloading files from notebook.."
scp ${IP}:"~/.ssh/known_hosts" "/tmp/syncssh" > /dev/null
echo -n ".."
scp ${IP}:"~/.ssh/authorized_keys" "/tmp/syncssh" > /dev/null
echo "..OK"

# Объединяем файлы с ноутбука и локальной машины
echo -n "Syncing files..."
cat /tmp/syncssh/known_hosts ~/.ssh/known_hosts | sort | uniq > /tmp/syncssh/known_hosts_new
cat /tmp/syncssh/authorized_keys ~/.ssh/authorized_keys | sort | uniq > /tmp/syncssh/authorized_keys_new
echo "...OK"

# Копируем новые файлы на локальную машину
echo -n "Installing new files on to local machine..."
mv /tmp/syncssh/known_hosts_new ~/.ssh/known_hosts
mv /tmp/syncssh/authorized_keys_new ~/.ssh/authorized_keys
echo "...OK"

# Загружаем файлы на ноутбук
echo -n "Uploading new files on to notebook.."
scp ~/.ssh/known_hosts ${IP}:"~/.ssh" > /dev/null
echo -n ".."
scp ~/.ssh/authorized_keys ${IP}:"~/.ssh" > /dev/null
echo "..OK"

# Удаляем временную директорию
echo -n "Removing temorary files..."
rm -rf '/tmp/syncssh'
echo "...OK"


Этот скрипт нужно сохранить например под именем ~/scripts/syncssh.sh и сделать его исполнимым:

chmod +x ~/scripts/syncssh.sh

Теперь для синхронизации достаточно выполнить команду:

~/scripts/syncssh.sh

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

Creating temporary directory......OK
Downloading files from notebook......OK
Syncing files......OK
Installing new files on to local machine......OK
Uploading new files on to notebook......OK
Removing temorary files......OK

На этом всё. Единственное на что стоит обратить внимание - чтобы каждый раз при копировании файлов с/на ноутбук не запрашивался пароль - полезно настроить авторизацию по ключу. Как это сделать можно прочитать здесь.


Удалённый доступ к рабочему столу

Источник


Иногда возникает необходимость получить доступ к рабочему столу, который в текущий момент запущен на удалённом компьютере. Стандартное ПО VNC в Linux позволяет лишь запустить ещё одну, виртуальную, копию X-сервера и работать в этом новом X-окружении (т.е. в новом рабочем столе).

Ниже, в первую очередь приведён сложный, но гибкий способ решения проблемы.
Способ решения для которого нужно лишь щёлкать мышкой в KDE приведён далее.


Сложный способ решения проблемы
В противовес обычному VNC x11vnc действует так же как VNC в Windows — т.е. обеспечивает доступ к уже запущенной “настоящей” сессии (кстати, замечу, что в Windows это сделано так не как фича, а как вынужденная необходимость, не забывайте что за Windows XP может одновременно работать не более одного человека, а за Windows 2003 — не более 3-х, лицензии на дополнительные подключения (для Windows 2003) стоят дополнительных денег, а для Windows XP — просто не существуют)

С помощью следующих команд (взятых из x11vnc (1) ) можно автоматизировать процесс подключения к удалённому компьютеру по ssh, запуск там x11vnc в контексте работающего рабочего стола, туннелирование vnc трафика через зашифрованное соединение (ssh-туннель) и собственно подключение:

# Создаем соединение и запускаем x11vnc:

$ ssh -t -L 5901:localhost:5900 example.com ‘x11vnc -localhost -rfbauth .vnc/pass-x11 -display :0′

# Подключаемся

$ vncviewer -encodings ‘copyrect tight zrle hextile’ localhost:1

Hint: иногда может помочь опция -C для сжатия трафика туннелироваyного в ssh

Предварительно неплохо бы создать пароль для VNC (дабы никто обладающий доступом к вашему удалённому компьютеру не смог заюзать рабочий стол не зная пароля, это актуально на компьютерах, к которым имеют доступ несколько человек:

$ x11vnc -storepasswd .vnc/pass-x11

Простой способ решения проблемы
Используйте программу krfb для создания приглашения на рабочий стол своего компьютера и krdc (или любой другой VNC-клиент) для подключения

Offtopic
Что быстрее VNC?
На самом деле это не способ решения нашей проблемы, а просто быстрый аналог VNC
Если скорость работы VNC вас не удовлетворяет, а запускать графические приложения на удалённом компьютере всё же нужно, используйте ssh X11 tunneling — по производительности это решение превосходит все известные мне аналоги, в том числе под Windows.
достаточно при создании ssh соединения с удалённым компьютером разрешить перенаправление X11 (опция -X у ssh, также нужно чтобы эту возможность не запретил админ удалённого сервера), а затем в удалённом терминале просто запускать графические приложения, они отобразятся на вашем локальном X-сервере (кстати под Windows тоже есть реализация X-сервера)


Для начала установим x11vnc:

emerge x11vnc

Установка не займёт много времени, поскольку исходные тексты занимают всего около двух мегабайт. После установки на диске появятся следующие файлы (список может немного меняться в зависимости от версии и USE-флагов,использованных при сборке):

/usr/bin/x11vnc
/usr/share/man/man1/x11vnc.1.bz2
/usr/share/x11vnc/classes/ssl/VncViewer.jar
/usr/share/x11vnc/classes/ssl/index.vnc
/usr/share/x11vnc/classes/ssl/SignedVncViewer.jar
/usr/share/x11vnc/classes/ssl/proxy.vnc
/usr/share/x11vnc/classes/ssl/README
/usr/share/x11vnc/classes/ssl/UltraViewerSSL.jar
/usr/share/x11vnc/classes/ssl/SignedUltraViewerSSL.jar
/usr/share/x11vnc/classes/ssl/ultra.vnc
/usr/share/x11vnc/classes/ssl/ultrasigned.vnc
/usr/share/x11vnc/classes/ssl/ss_vncviewer
/usr/share/x11vnc/classes/VncViewer.jar
/usr/share/x11vnc/classes/index.vnc
/usr/share/doc/x11vnc-0.9.3/ChangeLog.bz2
/usr/share/doc/x11vnc-0.9.3/README.bz2

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

x11vnc

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

x11vnc -notruecolor -scale 2/3

В результате по сети будет передаваться изображение с восьмибитным цветом и размером в 2/3 от оригинала.

У x11vnc есть ещё одна особенность: после запуска x11vnc ждёт подключения клиента, а по завершении подключения - завершает свою работу. Если необходимо чтобы x11vnc был запущен постоянно и не завершал работу после отключения клиента - нужно добавить опцию -forever к строке запуска. Дополняя предыдущую команду получим:

x11vnc -notruecolor -scale 2/3 -forever

Так же полезно явно указать используемый дисплей при помощи опции -display. Если опция не указана то используется дисплей, указанный в переменной окружения DISPLAY. Если же переменная окружения DISPLAY не указана - создаётся новый дисплей.

Кроме того полезно настроить авторизацию. Для этого выполните команду:

x11vnc -storepasswd

Пароль будет сохранён как и в случае с другими реализациями vnc в файле ~/.vnc/passwd. Причём если у вас уже есть этот файл (например созданный при помощи realvnc) то его можно использовать без изменений. Чтобы x11vnc использовал авторизацию ему нужно передать опцию -usepw. В итоге получится вот такая команда:

x11vnc -notruecolor -scale 2/3 -forever -display :0 -usepw

Если используется KDE и есть необходимость запустить x11vnc вместе с KDE то можно создать скрипт ~/.kde/Autostart/startvnc.sh следующего содержания:

#!/bin/sh

x11vnc -notruecolor -scale 2/3 -forever -display :0 -usepw

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

vncviewer <Ваш_IP>

Большая часть написанного выше не привязана к конкретному дистрибутиву, и потому может быть использовано и в других дистрибутивах.
Источник:
http://ylsoftware.com/?action=news&na=viewfull&news=373