Hatred's Log Place

DON'T PANIC!

Jan 23, 2010 - 1 minute read - Comments -

Termit 2.3.0

Если кто захочет собрать Termit 2.3.0 (в AUR пока только PKGBUILD для 2.2.0), столкнется с фейлом линковки, соорудил это:

--- ./src/CMakeLists.txt.orig	2010-01-23 22:26:13.037085590 +1000
@@ -2,7 +2,7 @@
 
 INCLUDE_DIRECTORIES(${TERMIT_SOURCE_DIR})
 
-INCLUDE (FindGTK)
+INCLUDE (FindGTK2)
 
 INCLUDE (FindPkgConfig)
 pkg_search_module(VTE REQUIRED libvte>=0.13 vte>=0.13)
@@ -37,13 +37,13 @@
 #  LINK_FLAGS ${TERMIT_LDFLAGS})
 #set_target_properties(${TARGET} PROPERTIES LINK_FLAGS ${TERMIT_LDFLAGS})
 
-SET(TERMIT_LDFLAGS "")
-FOREACH(ldflag ${VTE_LDFLAGS} ${GTK_LDFLAGS})
1.  SET(TERMIT_LDFLAGS "${TERMIT_LDFLAGS} ${ldflag}")
-ENDFOREACH(ldflag)
-set_target_properties(${TARGET} PROPERTIES LINK_FLAGS "${TERMIT_LDFLAGS}")
+#SET(TERMIT_LDFLAGS "")
+#FOREACH(ldflag ${VTE_LDFLAGS} ${GTK_LDFLAGS})
+#  SET(TERMIT_LDFLAGS "${TERMIT_LDFLAGS} ${ldflag}")
+#ENDFOREACH(ldflag)
+#set_target_properties(${TARGET} PROPERTIES LINK_FLAGS "${TERMIT_LDFLAGS}")
 
-target_link_libraries(${TARGET} ${LUA_LIBRARIES})
+target_link_libraries(${TARGET} ${LUA_LIBRARIES} ${VTE_LDFLAGS} ${GTK_LDFLAGS})
 
 INSTALL(TARGETS ${TARGET} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin)
 

Альтернативная ссылка: http://codepad.org/ovoBTiFN

Собрал, обновил, в комментах к AUR-версии отписал о выходе новой версии и патче.

PS классная утилита curlpaste, помогает одним движением залить текстовый файлик на сервисы типа pastebin и получить прямой линк для отправки собеседнику. Работает не только с файлами, но и с иксовым буффером обмена, может отправлять стандартный вывод программы. В общем самое оно для обмена конфигами и/или логами, кусками кода и т.д.

Jan 23, 2010 - 1 minute read - Comments -

LaTeX и подготовка презентаций

Может вы меня и посчитаете конченным гиком, но мне так больше понравилось готовить презентацию, нежели в OO Impress.

Тут только несколько ссылок на то, что как как делать. Основа - это пакет beamer, который есть в TeXLive, но в статье Балдина есть упоминание и о более простых решениях. Еще вариант - пакет prosper.

Итак: * http://wiki.linuxformat.ru/index.php/LXF91:LaTeX - Статья Балдина в Линукс Формат, как раз посвященная презентациям в LaTeX. На основе этих статей он выпустил книгу, крайне рекоменду: “LaTeX - компьютерная типография” * http://mydebianblog.blogspot.com/2007/07/latex-beamer.html - Записки Дебианщика, тоже статья про beamer * http://latex-beamer.sourceforge.net/ - домашний сайт (En) * http://happymutant.com/latex/misce/beamer.php (En) * http://heather.cs.ucdavis.edu/~matloff/beamer.html (En) * http://www.pletscher.org/writings/latex/beamer.php (En) * http://freshmeat.net/articles/making-presentations-with-latex-and-prosper - создание презентаций с prosper

Для просмотра можно использовать любой PDF-viewer, у меня с этим справились: evince и ePDFViewer.

Jan 16, 2010 - 1 minute read - Comments - programming

Medit: работает с FreePascal

Продолжаем цикл статей :simple_smile: ну и в предверии семинара.

Для начала создадим фильтр, вид его будет такой:

<filter id="FreePascal" name="FreePascal">
  <match what="stdout" pattern="(?P&lt;file&gt;[^:]+)<br/>((?P&lt;line&gt;<br/>d+)[,0-9]*<br/>) Error:.*" style="output-error" />
  <match what="stdout" pattern="(?P&lt;file&gt;[^:]+)<br/>((?P&lt;line&gt;<br/>d+)[,0-9]*<br/>) Fatal:.*" style="output-error" />
</filter>

В отличии от бейсика, файл синтаксиса для паскаля уже есть, поэтому здесь мы не будем делать каких-то движений.

После создаем инструмент Run Pascal, файлы - *.pas; тип - Команда оболочки; вывод - Панель вывода; фильтр - FreePascal, сам код такой:

fpc $DOC
if [ $? -eq 0 ]; then
  xterm -e "bash -c 'cd $DOC_DIR; ./$DOC_BASE; read -p <br/>"Нажмите ENTER для продолжения<br/>"'"
fi

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

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

Jan 15, 2010 - 1 minute read - Comments - linux

Mplayer и отсутствие xv

В продолжении этой темы вывод видео с -vo xv не увенчается успехом, и в X11 будет использоваться, по умолчанию, драйвер x11 - минус ровно один: не масштабируется видео к полному экрану. И xvinfo вас не порадует…

Вспомнил свою бытность на P100 и мало-мало памяти: * вывод видео через sdl * вывод audio через sdl * кеширование * и т.п.

В результате, получился такой конфиг ~/.mplayer/config

# видео-выход, посмотреть возможные: mplayer -vo help
vo=sdl
# audio-выход, посмотреть возможные: mplayer -ao help
ao=sdl
# Автоматическая синхронизация аудио и видео - следитие за процессором, на некоторых просто не успевает видео в высоком качестве декодироваться, отсюда возникает причина задержки, такое  лечится только апгредом
autosync=100
# Предварительное кеширование, для проигрывания интернет радио задавайте 512-1024, не больше
cache=8192
# ну это украшательство, просто цветной вывод, т.к. mplayer использую консольный, глаз рудается, да.
msgcolor=true

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

ЗЫ с помощью -vo fbdev или -vo fbdev2 (кстати, чем они отличаются?) можно смотреть видео в консоли с фрейм-буффером, а с помощью -vo aa (ч/б) или -vo caca (более продвинуто) - втыкать видео в псевдографике.

Jan 14, 2010 - 4 minute read - Comments - linux

EeePC: uvesafb + родное разрешение в консоли и X11

Пришло время ядра 2.6.32 (уже 2.6.32.3) в core репозитория ArchLinux, да вот незадача: поломали они графику.

Проявляется так: через некоторое время работы, в иксах начинает дергаться экран, как в дерьмовом фильме, где после крутого взрыва на космическом корабле все мониторы взорвались, а последний, для связи с Землей, перед последним вздохом показывает дерганное изображение оператора с того конца. Еще через некоторое время графика фризится, на некоторых версиях иксовых дров (2.9.1) это финиш, для тех что из git - можно переключиться в консоль и там вырубить иксы, да вот запустить их не получится до полной перезагрузки. Да это не паника - система продолжает работать.

Если задать опцию powersave=0 для модуля i915, проявление вышеописанных багов несколько снижается, но не исчезает. Кроме того, после suspend-to-ram фейл появляется почти сразу.

Подумав, решил на время отказаться от родных драйверов в сторону vesa, мне главное нормальная и стабильная работа (да, Арч, что бы моск не заплыл :))

Собственно, все свелось к следующему

Для начала ставим пакет v86d из extra: pacman -S v86d

После установки редактируем файл /etc/modprobe.d/uvesafb.conf на предмет нужного нам разрешения экрана, ставим сразу (верно для моего EeePC 1000H) 1024x600-32

И загружаем модуль usevafb: modprobe uvesafb

Ииии облом :) получим разрешение 800x600 и растянутое изображение - приятного мало.

Связано с тем, что видеобиос на некоторых чипах не поддерживает переключение в нативное разрешение, глюк, согласно статье в вики: http://wiki.archlinux.org/index.php/Uvesafb#Uvesafb_and_915resolution

Там же находим способ как обходить - использовать хак под названием 915resolution лежит он в AUR, только берите версию 915resolution-static - там содержится патч для поддержки 945GME. Собираем этот пакет и ставим.

Дальше запускаем: sudo 915resolution -l

смотрим какие режимы предоставляет. Я для переопределения под номером 54 (в hex виде) - бывший 1024x768-32.

Если поддержки чипа нет - то будет об этом сказано, в этом случае - гуглите, патчите.

Дальше, нужно соблюдать порядок: * сначал хачим биос:915resolution 54 1024 600 * потом уже загружаем модуль uvesafb:modprobe usevafb (при наличии настройки в /etc/modprobe.d/uvesafb.conf)

В случае ArchLinux данную загрузку можно осуществить через initrd, для этого: 1. редактируем хук: /lib/initcpio/hooks/915resolution на предмет нужного режиме (смотрим выше что написал, про хачим биос) 2. редактируем /etc/mkinitcpio.conf и дабавляем в строку HOOKS следующие хуки: 915resolution и v86d (сначала первые потом второй - порядок важен) 3. запускаем: mkinitcpio -p kernel26

Все, при перезагрузке все станет на свои места, либо вручную вызвать нужные команды. Кстати на официальном сайте uvesafb есть информация (http://dev.gentoo.org/~spock/projects/uvesafb/faq.php) как при работе выключить фреймбуфферную консоль и вернуть текстовую моду: > Can I unload the uvesafb module and switch back to a text mode? > > Yes, provided your Video BIOS supports saving the VBE state. This is supported by the vast majority of the currently available BIOS-es. If yours does not support this feature, you will get an appropriate warning in the kernel log. In order to switch back to a text mode, you will need to detach fbcon: echo 0 > /sys/class/vtconsole/vtcon1/bind (make sure the VT_HW_CONSOLE_BINDING kernel config option is selected, otherwise this will do nothing). After you do that, you should be automatically switched back a text mode console. You will also be able to unload uvesafb and fbcon if they have been built as modules.

Уже мы все такие радостные, да? :) а теперь сделайте suspend-to-ram, ога, у меня не проснулось :) точно проснулось но графика слетела. В попытках исправить (для засыпания использую pm-utils с модулем uswsusp) поместил два скрипта в /etc/pm/sleep.d * скрипт 10_915resolution:```bash#!/bin/bash

case $1 in hibernate|resume) /usr/sbin/915resolution 54 1024 600 ;; esac

  * скрипт **10fbcon**:```bash#!/bin/bash

case $1 in
    hibernate|resume)
    echo 0 > /sys/class/graphics/fbcon/subsystem/fb0/state
    ;;
esac

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

В общем, пока все, огромная просьба - протестить, отписаться.

Да! после сна, бывает черный экран - переключаемся в консоль и обратно. И для иксов достаточно прописать нужный режим (Modes “1024x600”) и драйвер vesa.

ЗЫ жду когда родные дрова починят, поставил бы Торвальдс Арч, что ли :)

Jan 13, 2010 - 1 minute read - Comments -

"Проявка" RAW

Что-то последнии посты были бредом чистой воды, пора исправлять ситуацию.

Итак начнем с того, что буквально вчера-сегодня по RSS с http://linuxgraphics.ru пролетела новость о программе darktable.

Собственно она позиционируется как замена Адобе Лайтруму. Не знаю на сколько она соотвутствует данному критерию, сам до сих пор использую UFRaw, нужно будет попробовать и её.

Итак, ссылки в тему: * Официальный сайт: http://darktable.sourceforge.net/ * Новость о выходе версии 0.4: http://www.linuxgraphics.ru/news.php?readmore=1132 * Беглый обзор: http://www.linuxgraphics.ru/articles.php?article_id=85

Обзор хоть и беглый, затрагивает и другие RAW конвертеры и обращает на основные недостатки.

В ArchLinux данной программы нет в репозиториях, есть в AUR: * стабильная сборка (пока версия 0.3, но читая man makepkg правим под себя): http://aur.archlinux.org/packages.php?ID=31518 * git-сборка: http://aur.archlinux.org/packages.php?ID=31515

Jan 6, 2010 - 1 minute read - Comments - life

Что я достиг в жизни. Философское

Да, через пару дней, в цифрах будет уже видно что пошла вторая четверть века человека (если принять за век 100 лет). Ну и тут надоумили, буквально меньше часа назад: * Солидная работа/начальник отдела/свой бизнес/хороший заработок - нет * Видный деятель - нет * Свой дом/квартира - нет * Машина - нет * Семья - нет

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

И мыслей никаких.

UPD: 2014 год, и почти по всем пунктам - true, а оглядываясь назад - още посрать: “ща нет, потребуется - будет”. ЧТД.

Dec 27, 2009 - 1 minute read - Comments -

BibTeX + ГОСТ + UTF8

В поставке TeXLive! есть стилевые файлы для BibTeX реализующие работу с библиографическими записями согласно стандартов ГОСТ 7.80-2000((БИБЛИОГРАФИЧЕСКАЯ ЗАПИСЬ. ЗАГОЛОВОК. http://ru.wikisource.org/wiki/%D0%93%D0%9E%D0%A1%D0%A2_7.80%E2%80%942000)) и ГОСТ 7.1-84((БИБЛИОГРАФИЧЕСКАЯ ЗАПИСЬ. БИБЛИОГРАФИЧЕСКОЕ ОПИСАНИЕ. Устарел, после выхода ГОСТ 7.1-2003. Стили требуют переработки. http://ru.wikisource.org/wiki/%D0%93%D0%9E%D0%A1%D0%A2_7.1%E2%80%942003)): gost780s/gost71s((аналогичные стандартному стилю plain, библиографические записи помечаются номерами и сортируются в алфавитном порядке)) и gost780u/gost71u((аналогичные стандартному стилю unsrt, без сортировки, порядок определяется порядком цитирования в тексте)). Всё хорошо, но камрад Морфей из местной группы пользователей Linux столкнулся с тем, что они не работают с UTF8.

Беглый поиск привел на сайт “TeX в ЯрГУ” в раздел “Программы”, где я нешел следующее:

UTF8-версия BIBTEX-стилей для оформления библиографии по ГОСТ

В архиве 4 стилевых файла: * utf8gost71s.bst * utf8gost71u.bst * utf8gost780s.bst * utf8gost780u.bst

Назначение аналогично им коллегам для 8битных кодировок.

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

Dec 26, 2009 - 1 minute read - Comments - linux

Copy/Paste в консоли

Идея не моя: http://muhas.ru/?p=19

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

c_buffer="/tmp/ccopy.$USER"
ccopy()
{
  cat /dev/null > $c_buffer
  chmod 600 $c_buffer
  # сделано так, потому как файлы могут содержать пробелы в имени
  while [ $# -gt 0 ]
  do
    echo `pwd`/$1 >> $c_buffer
    shift
  done
}
cpaste()
{
  echo "Paste files:"
  cat $c_buffer | while read line
  do
    echo $line
    cp -a "$line" ./
  done
}

Записываем это в файл ~/.bashrc и запускаем новую копию оболочки.

Для копирования файлов/директорий из текущего каталога в буффер ccopy file1 “file with spaces” directory2

Переходим в целевую директорию и делаем: cpaste

Возможные доработки: 1. обработка полных путей файлов 2. поддержка регистров

Повторюсь - идея комрада Muhas :laughing:

Dec 26, 2009 - 1 minute read - Comments - life linux

Статья в OpenSource

Вышел выпуск 54 электронного журнала “OpenSource” (приложение к журналу “Системный администратор”), а в нем опубликована моя первая статья, можно сказать - первый опыт публикации вообще: «Собираем свое окружение рабочего стола». Скачать выпуск можно: http://osa.samag.ru/info/OpenSource054.zip

Dec 10, 2009 - 2 minute read - Comments -

Редактор для работы с LaTeX

Испробывал их не много, но принципиально разные. Начинал в Kile, потом перебрался на Emacs, потом обратно на Kile.

В Kile устраивало все, кроме сильной привязки к KDE. В Emacs же стало что-то лениво разбираться дальше. Другие редакторы по тем или иным причинам не устраивали.

Таким образом поиск привел к Texmaker, написал который первоначальный автор Kile - Pascal Brachet. И всем он повторял первоначальный Kile, да вот не было в нем такой удобной функциональности как Шаблоны, мастер создания документа эту проблему не решает. И вот недавно натыкаюсь на проект TexmakerX, который является форком Texmaker с дополнительными патчами.

Сайт программы: http://texmakerx.sourceforge.net/

Для ArchLinux доступен в AUR

У меня вся установка уложилась в три команды: cd ~/build aur texmakerx pacman -U texmakerx/texmakerx-1.9.3-1-i686.pkg.tar.gz

aur это мой скриптик, взять можно в GIT: http://hatred.homelinux.net/git/scripts.git git clone http://hatred.homelinux.net/git/scripts.git/

Внешний вид:

Краткий перечень возможностей: * шаблоны * быстрый доступ к различным символам (типа стрелок) * быстрая сборка * доступ к основным командам LaTeX через меню * отдельное меню для работы с математикой * пользовательские теги и команды (бывает удобно, хотя непонятно почему количество ограничено…) * для документа разбросанного по многим файлам, можно определить Мастера - т.е. при запуске отстройки в качестве параметра будет передавать не имя файла в текущем буфере, а имя Мастер-документа. * подстветка синтаксиса * автодополнение команд * проверка орфографии * закладки, нумерация строк и пр. удобности нормального редактора кода

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