вторник, 8 марта 2016 г.

Автозапуск программ и скриптов при загрузке Ubuntu

Есть несколько способов настроить автоматическое выполнение скрипта или программы при загрузке Ubuntu. Самый простой - это использовать встроенную в Ubuntu утилиту, которую можно запустить через меню Ubuntu: Applications>System tools>Preferences>Startap Applications, но проще ее запустить используя команду gnome-session-properties. Чтобы проще было добавлять разные мелкие скрипты и команды в одну строчку через меню я добавил всего один скрипт в который и вношу правки просто в текстовом редакторе. Указанная утилита записывает добавляемые пункты автозапуска в директорию ~/.config/autostart.

Есть еще один способ добавить скрипт в автозагрузку. Для этого можно добавить в конфигурационный файл cron строчку вида
@reboot autostart.sh
Добавить строчку в конфигурационный файл cron можно используя команду crontab -e.

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

В случае, если нужно запустить скрипт от имени суперпользователя (root), можно добавить скрипт в файл /etc/rc.local, добавлять sudo при этом не нужно.

Если же скрипт нужно запускать не при каждом запуске Ubuntu, а только раз в день вне зависимости от того в какое время был включен компьютер, следует использовать anacron.

Отмечу, что для того чтобы скрипт нормально запустился нужно добавить ему права на запуск, например, используя команду chmod +x myscript.sh. Кроме того, если вы будете использовать для запуска файл /etc/rc.local или метод с @reboot в cron, то не забывайте прописывать полный путь к скрипту, то есть указывать путь как /home/user/myscript.sh, а не ~/myscript.sh.

Для того, чтобы запрограммировать компьютер на автоматическое включение в заданное время можно использовать утилиту rtcwake. Например вот как выглядит команда для автоматического пробуждения компьютера "завтра" утром:
rtcwake -m no -t $(date +%s -d 'tomorrow 5:59')
Запускать ее следует от имени суперпользователя.

P.S. Если я что-то не очень понятно описал - задавайте вопросы в комментариях.

среда, 25 ноября 2015 г.

Автоматический запуск скрипта на втором рабочем столе

Программой Devilspie я пользуюсь уже давно (см. Devilspie - Community Help Wiki и Devil's Pie | Русскоязычная документация по Ubuntu), а тут понадобилось автоматически при старте ubuntu запускать скрипт в консоли, причем не на главном Рабочем столе (Workspace), а на втором, так скажем, "в фоне".

Для запуска скрипта я использую rxvt-unicode:

rxvt-unicode -hold -display :0 -e /полный_путь_к_скрипту

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

(devilspie:24390): Wnck-WARNING **: Received a timestamp of 0; window activation may not function properly.

И еще были другие какие-то ошибки. А самое главное: нихера ничего не работает. Начал разбираться с конфигами devilspie, но, понятно, что вылавливать синтаксические блохи удовольствие сомнительное. Но тут я случайно наткнулся на удобное GUI: gdevilspie, который есть в стандартных репозиториях Ubuntu. Однако радость моя была недолгой, поскольку gdevilspie отказывался запускаться мотивируя это тем, что:

Traceback (most recent call last):
File "/usr/bin/gdevilspie", line 893, in 
MainWindow = RulesListWindow()
File "/usr/bin/gdevilspie", line 374, in __init__
self.UpdateAutostartStatus()
File "/usr/bin/gdevilspie", line 545, in UpdateAutostartStatus
if (os.path.exists(xdg.DesktopEntry.xdg_config_home + "/autostart/devilspie.desktop")):
AttributeError: 'module' object has no attribute 'xdg_config_home'

Оказалось, что это баг, который добрые люди уже успели поправить. Нужно просто установить пропатченый пакет.

После установки пакета и запуска обновленного gdevilspie все заработало сходу, надеюсь и у вас тоже.

понедельник, 23 декабря 2013 г.

Извлечение аудио из видео-файла в Ubuntu

Часто в фильмах звучат замечательные музыкальные произведения, которые не всегда удается найти отдельно. Единственный выход в этом случае - извлечь звук самостоятельно. Те, кто предпочитает работать через графический интерфейс, могут попробовать использовать для этого программу avidemux. Мне же показалось, что гораздо проще работать через командную строку. Для этого используем ffmpeg:
ffmpeg -i input.mkv -map 0:2 -vn -ss 00:24:13 -t 00:00:39 -acodec libmp3lame -ab 320k -ac 2 output.mp3

Здесь
  • input.mkv - видео файл из которого извлекается звуковая дорожка;
  • -map 0:2 - указывает на номер аудио-трека, если в видео-файле только одна звуковая дорожка, то этот параметр можно опустить, в случае, когда в файле несколько звуковых дорожек, вы можете посмотреть номера дорожек с помощью команды:
  • ffmpeg -i input.mkv
    и вот пример вывода этой команды (номера дорожек выделены жирным шрифтом):
    Stream #0:1(rus): Audio: ac3, 48000 Hz, 5.1(side), s16, 448 kb/s (default)
    Metadata:
    title : AC3 5.1 @ 448 kbps - DUB, Blu-ray
    Stream #0:2(ukr): Audio: ac3, 48000 Hz, 5.1(side), s16, 448 kb/s
    Metadata:
    title : AC3 5.1 @ 448 kbps - DUB, Blu-ray
    Stream #0:3(rus): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s
    Metadata:
    title : DTS 5.1 @ 1536 kbps - AVO, Y.Serbin
    Stream #0:4(eng): Audio: dts (DTS), 48000 Hz, 5.1(side), s16, 1536 kb/s
    Metadata:
    title : DTS 5.1 @ 1536 kbps

  • -vn означает, что видео извлекать не нужно;

  • -ss 00:24:13 указывает начальный момент времени, а параметр -t 00:00:39 - длительность;

  • -acodec libmp3lame определяет используемы аудокодек;

  • -ab 320k - битрейт;

  • -ac 2 - число каналв (1 - моно, 2 - стерео);

  • output.mp3 - имя полученного аудио-файла.

понедельник, 16 декабря 2013 г.

Как вырезать отрывок из видео в Ubuntu

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

ffmpeg -i input.mkv -vcodec copy -acodec copy -ss 00:59:03 -t 00:01:45 output.avi

Но он почему-то не сработал, а именно наблюдалась сильная рассинхронизация звука и видео, возможно потому, что исходное видео находилось в контейнере mkv и для правильного перекодирования в avi нужно было в явном виде указывать параметры перекодирования. Не получилось перекодировать на в mpg ни в mp4. К счастью, нашлась заготовка с настройками правильного перекодирования в mp4:

ffmpeg -i input.mkv -c:v libx264 -preset slow -crf 22 -c:a copy output.mp4

Я добавил параметры, указывающие с какого момента времени нужно вырезать видео: -ss 00:59:13, а так же длительность отрезка: -t 00:03:47 и клип получился как надо.

ffmpeg -ss 00:59:13 -i input.mkv -c:v libx264 -preset slow -crf 22 -c:a copy -t 00:03:47 output.mp4

Кстати, обратите внимание, что параметр -ss 00:59:13 указан перед флагом -i. В этом случае, ffmpeg не декодирует видео до нужного участка, а просто перематывает, поэтому в этом случае вся операция занимает гораздо меньше времени. Однако, при этом могут возникнуть ошибки с позиционированием и в этом случае можно попробовать поставить параметр -ss после -i, например вот так:

ffmpeg -i input.mkv -c:v libx264 -preset slow -crf 22 -c:a copy -ss 00:59:13 -t 00:03:47 output.mp4

Однако в моем случае это делать не понадобилось. Неудобно только, что нельзя сразу указать момент времени окончания отрезка и приходится вручную подсчитывать длительность.

вторник, 27 августа 2013 г.

Установка поддержки python в kdevelop

Несколько месяцев назад с большим геморроем удалось установить Kdevelop с поддержкой моего любимого языка программирования: Python. Сегодня что-то перемудрил с репозиториями и для исправления зависимостей пришлось сносить все пакеты связанные с KDE. Затем пришлось мучительно вспоминать как же я устанавливал Kdevelop и снова шерстить интернет. Вот простой вариант, который сработал:

Нужно добавить два репозитория:

http://ppa.launchpad.net/kxstudio-team/kxstudio-kde49/ubuntu
http://ppa.launchpad.net/kubuntu-ppa/backports/ubuntu

Затем установить пакет: kdevelop-python и обязательно обновить не только kdevelop, но и редактор kate.

понедельник, 29 апреля 2013 г.

Секреты настройки Firefox

Для себя давно собираю рецепты настройки Firefox, сегодня решил, что пора начинать их понемногу выкладывать в сеть


Отключение Push уведомлений для всех сайтов:

Речь идет о том, когда в новых версиях Firefox (начиная с 44) при загрузке многих сайтов стало появляться уведомление типа Would you like to receive notifications from the site... Каждый раз отвечать - "нет" слегка надоедает. Для решения этой проблемы нужно ввести в адресную строку: about:config, найти параметр
dom.webnotifications.enabled и изменить его значение на false.

Вывод информации о настройках Firefox

Ввести в адресную строку:
about:support

Вывод диагностической информации Firefox

Работает для Firefox 21 и выше. Ввести в адресную строку:
about:healthreport

Отключения перекодирования кириллических адресов web-страниц

При копировании адресов из адресной строки firefox и вставке, в текстовый файл, вместо, например https://ru.wikipedia.org/wiki/Браузер, можем получить https://ru.wikipedia.org/wiki/%D0%91%D1%80%D0%B0%D1%83%D0%B7%D0%B5%D1%80. Чтобы этого не происходило нужно ввести в адресную строку: about:config, найти параметр
network.standard-url.escape-utf8 и изменить его значение на false.

Ускорение прокрутки страницы колесом мышки в Firefox


Изменяется посредством настройки через about:config (нужно ввести это в адресной строке браузера, нажать Enter и согласится с тем, что вы будете осторожны)

firefox about:config

Ранее нужно было изменить настройки
mousewheel.withnokey.sysnumlines (установить False)
mousewheel.withnokey.numlines (установить больше 6)

Начиная с версии Firefox 17 этот рецепт не действует и нужно изменить следующие настройки:

mousewheel.system_scroll_override_on_root_content.enabled (установить enabled)
mousewheel.system_scroll_override_on_root_content.vertical.factor (установить выше 200)

Чистка и переиндексация базы данных Firefox

Может понадобится, если Firefox тормозит больше обычного.
Для выполнения запускаем в терминале:
find ~/.mozilla/firefox/ -name *.sqlite -exec sqlite3 {} "VACUUM; REINDEX" \;
Если будет ругаться: find: `sqlite3': No such file or directory значит нужно предварительно установить sqlite3:
sudo apt-get install sqlite3
Скрипт чистки и индексации можно добавить в задания CRON с автозапуском раз в месяц. Для того, чтобы были обработаны все базы, нужно запускать, когда Firefox закрыт.

Репозиторий с последними версиями Firefox


Для добавления репозитория нужно выполнить следующие команды в терминале:
sudo add-apt-repository ppa:ubuntu-mozilla-security/ppa 
sudo apt-get update

Ранее также был отдельный репозиторий для стабильных релизов ppa:mozillateam/firefox-stable, но, к сожалению, его не так давно прикрыли. Напишите в комментариях известные вам репозитории со стабильными релизами.

Открытие ссылок из Thunderbird в фоновом режиме


Для того, чтобы ссылки из Thunderbird открывались в фоновом режиме, нужно через about:config изменить следующую настройку: browser.tabs.loadDivertedInBackground (установить True). В новых версиях Firefox этот метод перестал срабатывать.

Исправление пустого окна расширений Firefox


Недавно, после сбоя что-то сломалось в Firefox и перестали работать некоторые расширения, а во вкладке расширений вообще пусто. В сети встречал советы попытаться повторно установить одно из расширений, но мне не помогло. Проблему удалось решить запустив Firefox с отключенными расширениями (меню Help->Restart with Add-ones disabled и обновления приложений в таком режиме). После перезагрузки в обычный режим все работало как надо.

Самовосстанавливающийся Ramdisk для Ubuntu

RamdiskRamdisk-ом называют разделы, которые постоянно находятся в оперативной памяти. Скорость обмена данными с таким дисками намного быстрее по сравнению с разделами на жестком диске. Переместив на такой раздел часто обновляемые данные, можно существенно увеличить производительность. Однако, создавать такой раздел стоит только, если у вас оперативной памяти много (4-8 Гб и выше). Основным недостатком разделов в оперативной памяти является то, что информация, сохраняется только при включенном питании компьютера. Есть простые способы создания таких дисков, однако я приведу здесь более сложный вариант, который включает сохранение информации перед выключением или перезагрузкой компьютера и автоматическое восстановление при включении.

Приступим

1. Создаем две директории:
mkdir ~/.ramdisk
mkdir ~/.ramdisk-archive

В первую нужно будет переместить (а не копировать) все, что будет хранится на Ramdisk, например, я перенес туда всю директорию ~/.mozilla/firefox. Предварительно обязательно следует создать резервные копии переносимых файлов и директорий.

2. Прописываем раздел в fstab
sudo gedit /etc/fstab

И дописываем в конец строчку
tmpfs /home/user/.ramdisk tmpfs defaults,mode=1777 0 0

3. При перезагрузке все данные из Ramdisk будут исчезать, поэтому при включении нужно заново записывать в память данные из архива ~/.ramdisk-archive. Для этого нужно отредактировать файл /etc/init.d/rc.local (а не before.local как пишут на некоторых сайтах).
sudo gedit /etc/init.d/rc.local
и добавить в начало файла строчку
rsync -a /home/user/.ramdisk-archive/ /home/user/.ramdisk

4. Понятно, что сами собой файлы в архиве не возникнут, поэтому их нужно обязательно записывать при выключении компьютера.

Открываем для редактирования файл:
sudo gedit /etc/init.d/ramdisk-sync-shutdown
записываем в него следующее:
#!/bin/sh
rsync -a /home/user/.ramdisk/ /home/user/.ramdisk-archive
exit 0
Добавляем права на его исполнение:
sudo chmod +x /etc/init.d/ramdisk-sync-shutdown

Теперь в директориях  
  • /etc/rc0.d  
  • /etc/rc1.d 
  • /etc/rc6.d 
размещаем символические ссылки S00ramdisk-sync-shutdown на файл ramdisk-sync-shutdown.

Благодаря этому, при выключении или перезагрузке содержимое Ramdisk будет сохранено на жестком диске.

5. Для страховки можно периодически создавать резервные копии каждые 2 часа (частота зависит от ценности ваших данных и стабильности электропитания):
crontab 1 */2 * * * rsync -a ~/.ramdisk/ ~/.ramdisk-archive

Чтобы Ramdisk начал работать нужно перезагрузиться или выполнить
sudo umount -a
sudo mount -a

Полезные команды для проверки состояния рамдисков


1. Вывод списка всех смонтированны временных файловых систем:
grep -w tmpfs /proc/mounts

2. Проверка того, сколько они занимают места:
df -h | grep tmpfs

3. Проверка свободной памяти:
free -m

Полезные ссылки:
Виртуальный диск в памяти: как создать ramdisk в Linux?
Создание своего скрипта автозапуска при загрузке компьютера

пятница, 12 апреля 2013 г.

Ускоряем интернет в Ubuntu - настройка pdnsd

Как известно, скорость загрузки страниц зависит не только от ширины канала, который предоставляет вам ваш интернет-провайдер, но и от такого важного параметра как время задержки (Латентность или Latency). Не буду об этом долго распространятся, замечу только, что из-за наличия задержки при увеличении полосы пропускания вашего интернет-канала с 5 Мб/с до 10 Мб/с скорость загрузки может увеличится всего на 5%, что красноречиво демонстрируют следующие графики:


Отчасти проблему с задержками может решить кэширование запросов к DNS. Для этих целей в Ubuntu есть несколько пакетов:
  • dnsmasqd - начиная с версии Ubuntu 12.04 установлен по умолчанию, кэш держит только в памяти, поэтому хранит адреса только до первой перезагрузки
  • bind - подходит для больших сложных систем, не очень быстрый
  • pdnsd - легкий в настройке и быстрый - его мы и будем устанавливать
  • unbound - пока не пробовал

Установка pdnsd
sudo apt-get install pdnsd

Запуск
sudo service pdnsd start

Настройка многократно описывалась на разных сайтах, см. например Делаем свой локальный DNS (PDNSD), с блэкджеком и быстрее Google Public DNS.

Я же сосредоточусь на возможных проблемах

Во-первых после установки вы можете получить сообщение типа:

Not starting pdnsd (disabled in /etc/default/pdnsd)

Открываем в редакторе файл с настройками:

gksu gedit /etc/default/pdnsd

и добавляем или изменяем соответствующую строчку так, чтобы было прописано
START_DAEMON=yes

Далее, проверку состояния pdnsd можно выполнить с помощью следующей команды:
sudo pdnsd-ctl status

при этом я получил следующую ошибку:
Error: could not open socket /var/cache/pdnsd/pdnsd.status: No such file or directory

Решение

Во-первых пробуете вручную запустить pdnsd
sudo service pdnsd stop
sudo pdnsd

и по результату определяем в чем именно проблема. Например, в моем случае было вот что:

* 04/09 01:54:22| pdnsd: error: Could not bind tcp socket: Address already in use
* 04/09 01:54:22| pdnsd: error: Could not bind to udp socket: Address already in use
* 04/09 01:54:22| pdnsd: error: tcp and udp initialization failed. Exiting.

Дальше ищем что пишут об этой ошибке в интернете. Одной из причин может быть то, что порт с которым по-умолчанию работает pdnsd, может быть занят. Чтобы это проверить выполняем:
sudo netstat -lpn | grep 127.0.0.1:53
получаем:

tcp 0 0 127.0.0.1:53 0.0.0.0:* LISTEN 3453/dnsmasq
udp 0 0 127.0.0.1:53 0.0.0.0:* 3453/dnsmasq

откуда видно, что порт 53 уже занял демон dnsmasq.

Для того, чтобы освободить порт, редактируем NetworkManager.conf
sudo gedit /etc/NetworkManager/NetworkManager.conf

и закомментируем строчку
dns=dnsmasq
следующим образом
#dns=dnsmasq

Сохраняем файл и перезагружаем network-manager
sudo service restart network-manager

И снова запускаем pdnsd
sudo service pdnsd start

для проверки времени обработки запроса к dns можно использовать команду dig
dig @127.0.0.1 ubuntu-forward.blogspot.com | grep "Query time"
Query time: 55 msec

повторный запрос выполняется почти мгновенно:
Query time: 0 msec

Для того, чтобы все запросы с вашего компьютера направлялись через pdns, в настройках подключения network-manager нужно в графе
DNS Servers указать 127.0.0.1

И снова проверить работу pdnsd уже без указания какой именно сервер использовать
dig ubuntu-forward.blogspot.com | grep "Query time"
Query time: 0 msec

Для проверки реальной скорости работы pdnsd в рабочих условиях можно использовать namebench.

четверг, 1 марта 2012 г.

Полнотекстовый поиск в Ubuntu

Как-то не сложилось в линуксе с поиском по содержимому файлов. Отчасти, потому, что для продвинутых пользователей есть неплохие консольные утилиты типа grep, а для обычных была замечательная программа Google Desktop Search. Как известно, некоторое время назад Google прекратил ее разработку и поддержку для "чужих" операционных систем в связи с продвижением своего Android. Тем не менее Google Desktop по-прежнему мог использоваться в Ubuntu до версии "11.10", в которой эта программа при своей работе стала постоянно загружать процессор на 100%. Теперь ближе к делу.

Судя по отзывам наиболее удобной открытой системой полнотекстового поиска является Recoll. Установить его можно либо через Центр приложений Ubuntu либо в терминале
sudo apt-get install recoll

Настройка Recoll

  1. Основные пользовательские настройки хранятся в ~/.recoll, но можно настроить и через графический интерфейс: Настройки>Настройки индексирования. В индексируемых папках лучше убрать домашний каталог ~ и прописать пути только к нужным директориям, иначе в результатах будет слишком много "мусора" из служебных директорий. Также можно поставить фильтры не только на пути, но и на имена файлов, но это почему-то делается уже на другой вкладке с загадочным названием Частные параметры в ячейке Пропускаемые имена. Recoll понимает значки типа * обозначающие произвольную последовательность символов, так что к игнорируемым именам файлов я добавил  *.JPG *.jpg *.png .~*
  2. Во вкладке Настройки>Настройки индексирования>Частные параметры можно указать кодировку по умолчанию, я указал UTF-8, но некоторые текстовые файлы, в частности тексты программ на python индексировались в неправильной кодировке. С этим удалось справится следующим образом. В Synaptic я просмотрел имена всех файлов, которые создаются при установке Recoll и нашел среди них, тот который судя по названию отвечал за работу с файлами нужного типа. Далее открыл этот файл в графическом редакторе с помощью команды в терминале
     
    sudo gedit /usr/share/recoll/filters/rclpython
    и заменил в том файле все вхождения iso-8859-1 на utf-8. После этого обновил индекс с помощью команды в терминале
    recollindex -z
    (можно также очистить результаты и проиндексировать снова в графической оболочке) и вуаля: все файлы индексируются в правильной кодировке!
  3. Далее можно изменить формат выдачи результатов поиска, я например использую следующую строку форматирования результатов поиска Настройки>Конфигурация>Интерфейс
    <table><tr><td><img src='%I'></td><td><a href="E%N"><b>%T</b></a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;%U<br><br>%A %K</td></tr></table>
    В этой строке убрано все лишнее и оставлено только имя файла со ссылкой и вырезка из файла с найденными ключевыми словами. Кроме того, в интерфейсе Recoll есть возможность представления результатов в виде таблицы (иконка с табличкой на верхней панели), если переключить на этот вид, то можно упорядочит результаты не только по релевантности, но и по дате. Замечательно, что Recoll умеет запоминать вид сортировки, я например предпочитаю сортировку по дате как это было по-умолчанию в Google Desktop Search.
  4. Остается только включить регулярное индексирование с помощью утилиты cron, которое запускается ежедневно в 4 часа утра когда компьютер наверняка не занят ничем особо важным. Команда индексирования
    recollindex > ~/tmp/recolltrace 2>&1
    Cron можно настроить с помощью графического интерфейса gnome-schedule.
Таким образом правильно настроенный Recoll даже лучше Google Desktop Search, поскольку не грузит систему когда ему вздумается, не сидит постоянно в оперативной памяти ну и самое главное - не отправляет регулярно данные о вас Большому брату.

Серебряная пуля

Волшебная команда для полнотекстового поиска, когда нужно искать в тех директориях, которые не индексируются Recoll:
find /путь_к_директории_для поиска -name 'маска имени файла' -print0 | xargs -0 grep 'искомый текст'

Литература для дополнительного чтения:

Recoll User Manual

UPD

Для быстрого запуска Recoll можно добавить клавиатурное сочетание, например, Ctrl+Alt+R, однако, запускать лучше не сам Recoll, а специальный скрипт, которые идет в комплекте с Recoll. Называется этот скрипт hotrecoll.py, где он находится можно с помощью следующей команды в терминале:
locate hotrecoll.py

Этот скрипт сам определяет запущен ли уже Recoll и если он запущен, но находится в свернутом состоянии, то скрипт сам его развернет. Это позволяет не плодить множество запущенных окон. Небольшой недостаток этого скрипта в том, что если окно Recoll развернутое, но спрятано за другими окнами, то скрипт не располагает его поверх других окон, а почему-то сворачивает. Но это можно легко исправить, если в hotrecoll.py заменить строчку
win.minimize()

на
recollMain.activate(gtk.get_current_event_time())

понедельник, 7 марта 2011 г.

Вставка изображения без обтекания в OpenOffice по умолчанию


По умолчанию в текстовом процессоре Writer OpenOffice рисунки, а точнее изображения вставляются в режиме оптимального обтекания. Однако, например, в курсовых работах рисунки требуется вставлять без обтекания. Менять же свойства обтекания для каждого рисунка это совсем грустное занятие. Так вот, изменить режим обтекания по умолчанию можно довольно просто:

  1. На верхней панели в выпадающем меню стилей нужно выбрать Дополнительно, затем выбрать вкладку Стили врезок и далее нажать правой кнопкой мыши пункт меню Изображения и выбрать Изменить.
  2. Выбираете стиль обтекания, который вам нужен, в частности Без обтекания и жмете ОК.

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

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

  1. Открываем новый документ Writer, изменяем стиль Изображения, как описано выше.
  2. Сохраняем его как шаблон: Файл > Шаблоны > Сохранить.
  3. Открываем меню Файл > Шаблоны > Управление > Мои шаблоны, находим тот шаблон, который мы сохранили, нажимаем правую кнопку мыши и в контекстном меню выбираем Сделать шаблоном по умолчанию.

Подобным образом можно изменить и другие параметры документов, используемые по умолчанию, например изменить поля страниц с довольно большого значения в 20 мм, на 15 или даже 10.




пятница, 18 февраля 2011 г.

Видео-конвертеры для Ubuntu

1. avconvert - это скрипт для Nautilus, им очень удобно пользоваться если нужно конвертировать отдельные файлы. После его установки в контекстном меню Nautilus появляется дополнительний пункт avconvert после нажатия которого в диалоговом режиме предлагает различные опции конвертирования.

Скачать скрипт можно на gnome-look.org

2. WinFF - эта программа с графическим интрефейсом, которая есть в репозиториях Ubuntu и фактически является графической надстройкрй над FFmpeg, для пробы попробовал конвертировать 5-ти минутный ролик и заняло это очень много времени: около 20 мин.

3. Handbrake - насколько я понял, эта программа в первую очередь будет полезна влядельцам iPod-ов, конвертирует программа в форматы mkv и m4v. Репозиторий этой программы устанавливается командой
sudo add-apt-repository ppa:stebbins/handbrake-releases

4. mencoder - консольная программа, которую использует mplayer для перекодирования видео в понятные ему форматы, работает почему-то намного быстрее ffmpeg. У нее есть небольшой глюк: она не всегда некоректно изменяет соотношение сторно видео-картинки, ее желательно явно задавать в форматах типа 320:240 млм 640:480 и т.п.

5. Transmageddon - тоже кажется GUI для FFmpeg и тоже кодирует очень медленно.
...
При практическом использовании понадобилось перекодировать видео так чтобы его смог прочитать не совсем продвинутый DVD-плеер и с этой задачей справился лишь скрипт avconvert (кодировал я в mpg), причем справился быстро, остальные программы так и не смогли создать читабельные файлы. К сожалению, avconvert не может перекодировать сразу несколько файлов так что при наличии большого колличества файлов придется повозится...

среда, 16 февраля 2011 г.

Как раздать интернет по wifi в network-manager 0.8

После обновления network-manager процес настройки раздачи интернета по wifi несколько изменился.

Предварительно нужно удалить dnsmasq:
sudo apt-get remove dnsmasq
и перезапустить network-manager:
sudo /etc/init.d/network-manager restart

Теперь нужно кликнуть по иконке сети (nm-applet) левой кнопкой мыши, далее выбрать в самом низу меню пункт Create New Wireless Network.... Дальше, тоже все просто, в качестве имени сети записываете UbuntuAdhoc, а также параметры шифрования и пароль. WPA шифрование пока кажется не поддерживается, остается только WEP - как и ранее при настроке раздачи интернета через wifi я выбрал WEP 40/128.

Неожиданным сюрпризом оказалось то, что сначала соединение почему-то постоянно обрывалось. Как оказалось это было результатом конфликта c dnsmasq, именно поэтому его перед настройкой нужно удалить.

По материалам help.ubuntu.com

вторник, 15 февраля 2011 г.

Как обновить network-manager

Решил не делать из частых обновлений Ubuntu культа, так как много раз убеждался, что новые версии программ часто "улучшают" далеко не всегда самым лучшим образом, самый яркий пример, это конечно Kubuntu, которую после ее очередного "улучшения" я перестал использовать совсем. Но все-же с трудом удерживаю себя от обновления моей более-менее стабильной "Сообразительной Рыси" (Lucid Lynx 10.04). Иногда обновляю отдельные программы, как вот недавно обновил network-manager, который в новой версии показывает уровень сигнала сетей 3G и позволяет явно указывать параметры роуминга.

Обновить network-manager можно добаввив следующий репозиторий:
deb http://ppa.launchpad.net/network-manager/trunk/ubuntu lucid main

заодно обновятся modem-manager и еще кое-что по мелочам...

суббота, 4 декабря 2010 г.

FineReader для Linux 2

Сегодня нашел еще один замечательный графический интерфейс для бесплатной программы распознавания текста cuneiform. Называется он YAGF. К сожалению, на официальном сайте есть только исходники и сборка rpm. Но к счастью, мир не без добрых людей ;) На странице http://notesalexp.org/ есть подробная информация как добавить необходимый репозиторий, на котором есть не только скомпилированные пакеты YAGF для различных дистрибутивов Ubuntu, но и обновления для cuneiform. Сам YAGF достоин всяческих похвал, во-первых и сам интерфейс поприятнее чем cuneiform-qt, во-вторых нет ограничения на графический формат страниц для оцифровки, то есть распознавать слету можно не только bmp.

вторник, 27 июля 2010 г.

Отключение роуминга ОГО! Мобильный в Ubuntu

По новым тарифам Укртелекома в пакете 256 дают все 60 Мб в роуминге Киевстар. Цена же за сверхлимитные мегабайты впечатляет: 40 коп/Мб - дороже наверное ни у кого нет. Самое интересное, что переключение в роуминг происходит автоматически и так же "автоматически" можно "влететь" на заметную сумму.

Для того чтобы отключить роуминг достаточно вручную жестко прописать код сети в настройках сетевого менеджера. Выбираем Изменить соединения > Мобильные широкополосные > Дальше выбираем нужное подключение, жмем Изменить и в поле Сеть набираем код сети Utel: 25507, ну и не забыть нажать Применить ;) Кстати в Ubuntu эти настройки сохраняются, а вот в XP - нет.

P.S. В 3G сети Укртелекома по ночам регулярно происходят обрывы сети после которых модем не может подключиться автоматически, если кто-то знает решение - напишите в комментариях.

пятница, 23 июля 2010 г.

Драйвер Canon PIXMA IP1500 для Ubuntu 10.04

Я уже описывал установку драйверов для IP1500, уже не помню для какой версии Ubuntu, сейчас возникла проблема - при установке pstocanonbj был затребован пакет libcupsys2, которого я не нашел в своих репозиториях.

Эту проблему можно решить установливкой репозитория Takushi Miyoshi deb http://mambo.kuhp.kyoto-u.ac.jp/~takushi/ubuntu ./

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

bjfilter-2.5
libcnbj-2.5
pstocanonbj

а пакет libcupsys подтянется автоматически из того же репозитория в виде зависимости при установке.

воскресенье, 20 июня 2010 г.

Установка Amarok 1.4 в Ubuntu 10.04 Lucid Lynx


Если у вас уже установлен amarok2, то его нужно предварительно удалить:

sudo aptitude purge amarok amarok-common amarok-utils

Добавляем частный репозиторий Bogdan Butnaru:

sudo add-apt-repository ppa:bogdanb/amarok14/ubuntu/pool/main/a/amarok

Обновляем списки пакетов:

sudo apt-get update

Ну и собственно, устанавливаем Amarok 1.4 - пока что лучший аудиоплеер ;)

sudo apt-get install amarok14

UPD. Да, и еще для установки может понадобиться библиотека libmysqlclient15off, для установки которой понадобиться добавить следующий репозиторий

deb http://mirror.yandex.ru/ubuntu/ karmic main restricted multiverse universe

понедельник, 14 июня 2010 г.

Сервисные номера Utel (ОГО! Мобільний)


  • 2288 — управление счетом
  • 2111 — пополнение счета
  • 2100 — проверка баланса
  • *100# — проверка баланса
  • *121# — проверка остатка дополнительных пакетов услуг
  • 1188 — контакт-центр с мобильного
  • 88005001188 — контакт-центр со стационарного
  • 2505 — услуга U`ton (заказ мелодий)
  • 2525 — голосовая и видео почта
  • *33*пароль# — запрет всех исходящих звонков
  • #33*пароль# — деактивация запрета всех исходящих звонков
  • *331*пароль# — запрет всех исходящих международных звонков
  • #331*пароль# — деактивация запрета всех исходящих международных звонков
  • *332*пароль# — запрет всех исходящих международных звонков, кроме адресованных своей стране
  • #332*пароль# — деактивация запрета всех исходящих международных звонков, кроме адресованных своей стране
  • *35*пароль# — запрет всех входящих звонков
  • #35*пароль# — деактивация запрета всех входящих звонков
  • *351*пароль# — запрет всех входящих звонков в роуминге
  • #351*пароль# — деактивация запрета всех входящих звонков в роуминге
  • *330*пароль# — отмена всех видов запрета вызовов
  • 0000 — базовый пароль
  • **03*330*старый пароль*новый пароль*новый пароль# — изменение пароля
  • *43# — активация услуги «Ожидание вызова»
  • #43# — деактивация услуги «Ожидание вызова»
  • *31#номер телефона — услуга «Запрет определения номера»
  • **21*номер телефона# — переадресация безусловная
  • **21# — отмена безусловной переадресации
  • **67*номер телефона# — переадресация «Телефон занят»
  • ##67# — отмена переадресации «Телефон занят»
  • **61*номер телефона*кол-во секунд(кратное 5)# — переадресация «Телефон не отвечает»
  • ##61# — отмена переадресации «Телефон не отвечает»
  • **62*номер телефона# — переадресация «Телефон выключен или за зоной действия сети»
  • ##62# — отмена переадресации «Телефон выключен или за зоной действия сети»
  • ##004# — отмена всех видов переадресации
P.S. Кто не знает - Укртелеком почему-то отказался от довольно раскрученного бренда Utel и терперь вместо него использует название ОГО! Мобільний.

вторник, 8 июня 2010 г.

Google отказывается от Windows


Теперь операционные системы компании – Mac и Linux. Огромный штат сотрудников Google отказывается от использования Windows. Решение это было принято после атак китайский хакеров – компания больше не считает Windows безопасной.
Правда, тотчас же появились слухи о том, что это решение продиктовано не ненадежностью Windows, а подготовкой компании к переходу на Google Chrome OS.

пятница, 21 мая 2010 г.

Создание собственной раскладки клавиатуры

Как и многие наверное в Украине, я использую три клавиатурные раскладки: Английскую, Русскую и Украинскую. Украинскую я использую реже всего, но иногда надо. Каждый раз ее устанавливать, когда она нужна, немного напрягает, так же, как напрягает необходимость скакать пальцами по клавиатуре как конь при частом переключении раскладок. Среди украинских раскладок есть одна очень интересная, которая в прошлом дистрибутиве называлась Ukrainian unicode (сейчас просто "Украинская"). Ее особенность в том, что в ней зашиты как русские буква типа "Ы", так и украинские типа "І", но проблема в том, что по умолчанию используются украинские буквы и нужно нажимать клавишу-модификатор, чтобы ввести русскую, а для таких русскоязычных украинцев как я нужно как раз наоборот.

Итак, ближе к делу.

Все раскладки в Ubuntu хранятся в директории /usr/share/X11/xkb/symbols/, в частности все украинские раскладки хранятся в файле /usr/share/X11/xkb/symbols/ua.

Сначала создаем резервную копию этого файла:

cd /usr/share/X11/xkb/symbols/ && sudo cp ua ua.bak



Затем открываем этот файл для редактирования:

sudo gedit ua

При просмотре файла ua можно достаточно быстро разобраться что именно нужно менять.

Берем ту раскладку, которая ближе всего к тому, что нам надо, например Ukraine - Winkeys

Вот часть кода, отвечающая за нее:

partial alphanumeric_keys
xkb_symbols "winkeys" {
include "ua(basic)"

name[Group1]= "Ukraine - Winkeys";

key <ae03> { [ 3, numerosign ] };
key <ae04> { [ 4, semicolon ] };
key <ae05> { [ 5, percent ] };
key <ae06> { [ 6, colon ] };
key <ae07> { [ 7, question ] };
key <ae08> { [ 8, asterisk ] };
key <ab10> { [ period, comma ] };
};


Копируем эту часть в конец файла и редактируем:

Вместо include "ua(basic) вставляем include "ua(winkeys)", чтобы в качестве основы использовалась именно раскладка winkeys.

name[Group1]= "Ukraine - Winkeys"; заменяем на name[Group1]= "Ukraine - My key list";, то есть пишем имя раскладки, под которым она будет видна в меню выбора раскладок в Gnome.

И дальше редактируем по собственному усмотрению непосредственно строчки key меняя назначение клавиш.

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

Вот например как выглядит моя русско-украинская раскладка:


// my layout
partial alphanumeric_keys
xkb_symbols "ua_my" {
include "ua(winkeys)"
include "level3(ralt_switch)"

name[Group1]= "Ukraine - Моя раскладка";

key <tlde> { [ apostrophe, U2019, U0301, asciitilde ] }; // Apostrophe and Stress symbol
key <ae01> { [ 1, exclam, ampersand ] };
key <ae02> { [ 2, quotedbl, twosuperior, at ] };
key <ae03> { [ 3, numbersign, percent, numerosign ] }; // Paragraph and Hryvnia sign
key <ae04> { [ 4, semicolon, EuroSign ] };
key <ae05> { [ 5, colon, degree ] };
key <ae06> { [ 6, asciicircum, less ] };
key <ae07> { [ 7, question, greater ] };
key <ae08> { [ 8, asterisk, dollar ] };
key <ae09> { [ 9, parenleft, bracketleft, braceleft ] };
key <ae10> { [ 0, parenright, bracketright, braceright] };
key <ae11> { [ minus, underscore, emdash, endash ] };
key <ae12> { [ equal, plus, U2248, plusminus ] };

key <ad03> { [ Cyrillic_u, Cyrillic_U, Byelorussian_shortu, Byelorussian_SHORTU ]};
key <ad04> { [ Cyrillic_ka, Cyrillic_KA, registered ] }; // Registered tm
key <ad05> { [ Cyrillic_ie, Cyrillic_IE, Cyrillic_io, Cyrillic_IO ] };
key <ad12> { [ Cyrillic_hardsign, Cyrillic_HARDSIGN, Ukrainian_yi,Ukrainian_YI ] };
key <ac02> { [ Cyrillic_yeru, Cyrillic_YERU, Ukrainian_i, Ukrainian_I ] };
key <ac11> { [ Cyrillic_e, Cyrillic_E, Ukrainian_ie,Ukrainian_IE ] };

key <bksl> { [ backslash, bar, Ukrainian_ghe_with_upturn, Ukrainian_GHE_WITH_UPTURN ] };

key <ab03> { [ Cyrillic_es, Cyrillic_ES, copyright ] };
key <ab06> { [ Cyrillic_te, Cyrillic_TE, trademark ] };
key <ab08> { [ Cyrillic_be, Cyrillic_BE, guillemotleft, doublelowquotemark ] };
key <ab09> { [ Cyrillic_yu, Cyrillic_YU, guillemotright, leftdoublequotemark ] };
key <ab10> { [ period, comma, slash, ellipsis ] };
};



Вы конечно можете придумать что-то еще интереснее.

Далее нужно указать системе, что появилась еще одна раскладка, а именно прописать ее в файле

/usr/share/X11/xkb/rules/evdev.xml

Снова создаем резервную копию файла:

cd /usr/share/X11/xkb/rules/
sudo cp evdev.xml evdev.bak


Открываем его для редактирования:

sudo gedit evdev.xml

и вставляем в разделе после


<layout>
<configitem>
<name>ua</name>
<shortdescription>Ukr</shortdescription>
<description>Ukraine</description>
<languagelist><iso639id>ukr</iso639id></languagelist>
</configitem>


вот такой текст:

<variant>
<configitem>
<name>ua_my</name>
<description>Ukraine - My key list</description>
</configitem>
</variant>


Сохраняем файл.

После этого заходим в меню Система-Параметры-Клавиатура и добавляем новую раскладку к активным.

Теперь можно пользоваться двумя раскладкам вместо трех.

P.S. Внимательно следите за пунктуацией в файле раскладок, одна лишняя запятая без параметра не даст вам использовать раскладку!

UPDATE После очередного обновления опять слетела раскладка. Попытался восстановить ее по собственной инструкции и что-то не заладилось - раскладку упорно отказывалась отображаться в списке доступных. Тогда я не мудрствуя лукаво просто изменил непосредственно украинскую раскладку используемую по-умолчанию: все сразу заработало как надо!

Популярные сообщения