Подписка на блог

делю на ноль, обогащаю уран
Позднее Ctrl + ↑

Запуск программ из vim

Чтобы запустить что-либо не выходя из `vim`, нужно сделать так :!./a.out То есть, если скомпилировалось из `foo.c` в `foo`, то запускается она :!./foo

splitvt

В поиске плагина, встраивающий консоль в `vim` нашел патч `vimshell`, но он актуален для vim старых версий.
Нашел некоторую замену — `splitvt`. Делит экран пополам. Переключение между половинками «Crtl+W»

Проблемы с kdm

Почему-то не поднимался `kdm`. Посмотрел логи `/var/log/kdm/log`:

process 3895: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/lib/dbus/machine-id": Нет такого файла или каталога

See the manual page for dbus-uuidgen to correct this issue.

D-Bus not built with -rdynamic so unable to print a backtrace

KCrash: Application 'kdmgreet' crashing...

process 3896: D-Bus library appears to be incorrectly set up; failed to read machine uuid: Failed to open "/var/lib/dbus/machine-id": Нет такого файла или каталога

See the manual page for dbus-uuidgen to correct this issue.

D-Bus not built with -rdynamic so unable to print a backtrace

Решилось так:

# dbus-uuidgen --ensure=/var/lib/dbus/machine-id

Что это было?

с помощью утилиты dbus-uuidgen был установлен файл идентификации машины (machine identification file), позволяющий автоматически запускать D-Bus одновременно с сессией рабочего стола

Конвертация и iconv

Понадобилось перекодировать txt файл из cp1251 в utf-8. Делается так:

polatov@localhost ~ $ iconv -f cp1251 -t utf8 Report.txt > Report.txt.new

Естественно, что конвертировать можно не только из cp1251 в utf-8, и естественно, что не только txt файлы.

grep и незакомментированные строки

Иногда бывает нужно вытащить конфигурационный файл на обозрение (например, выложить на paste.org.ru), но из-за того, что в в файле присутствуют комментарии, длинные файлы получаются нечитабельными. Чтобы облегчить чтение, нужно вытащить незакомментированные строчки. Делается так:

polatov@localhost ~ $ grep -P "^\s*#" squid.conf -v

«Masked» пакеты

Появились какие-то проблемы с обновлением. Из-за блокировки какого-то пакета, не обновлялся мир. Прочитал в интернете, что мол, portage-2.2 может решать такие проблемы. Решил поставить себе этот portage-2.2.

Но вот незадача:

localhost polatov # eix -s portage

[...]

[I] sys-apps/portage     Available versions:  2.1.4.5 2.1.6.7 2.1.6.13 [M]~2.2_rc33 {build doc epydoc linguas_pl selinux}     Installed versions:  2.1.6.13(15:50:22 11.06.2009)(-build -doc -epydoc -linguas_pl -selinux)     Homepage:            http://www.gentoo.org/proj/en/portage/index.xml     Description:         Portage is the package management and distribution system for Gentoo

Замаскировано двумя параметрами — тильдой ~ и знаком [M].

Сначала размаскируем от тильды. Маскировка по тильде означает, что пакет относится к тестовой ветви ПО. Размаскировывается так:

echo =sys-apps/portage-2.2_rc33 ~amd64 >> /etc/portage/package.keywords

Второй случай маскировки — [M]. Он означает, что пакет вообще заблокирован от использования до некоторых пор. Размаскировывается так:

echo sys-apps/portage >> /etc/portage/package.unmask

Теперь можно ставить.

Это всего лишь малая часть описания размаскировки пакетов. Позже будет еще.

Firefox в KDE

Обратил внимание, что Firefox в KDE выглядит плохо.

Сделал так:

# emerge gtk-engines-qtcurve gtk-chtheme

Потом в консоли запустить `gtk-chtheme` и выбрать тему.

Кроме `gtk-engines-qtcurve`, можно поставить еще `smooth-themes`. Тем будет больше, но у меня при попытке выбора какой-либо темы вываливатся ошибка «Segmentation fault»

CUPS

Ставим:

# emerge -avt cups

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

# rc-update add cupsd default

Запускаем:

# /etc/init.d/cupsd start

OpenOffice и /tmp

Собирал OpenOffice 3.0.0. В каком-то месте он останавливался и ругался, на что ему мало места для сборки в /tmp. Он у меня отдельным разделом. Для сборки в `/tmp` ему нужно от 4 до 6 гигов.

Решилось так: создал каталог `/usr/tmp2` (именно `tmp2`, а не просто tmp, так как там уже имеется ссылка c таким именем); а потом просто PORTAGE_TMPDIR=»/usr/tmp2″ emerge -avt openoffice

При желании можно прописать эту переменную в `make.conf`

Как создать образ в Linux?

Чтобы записать что-либо с помощью утилиты `cdrecord`, предварительно создается образ с помощью `mkisofs`:

$ mkisofs -vJRl -o dvd.iso /path/to/files

`-v` — подробный вывод работы программы

`-J` — «расширение файловой системы ISO 9660»

`-R `- еще одно расширение файловой системы ISO 9660
`-l` — разрешает полные имена файлов длиной 31 символ
`-o` — файл ISO-образа, который хотим получить

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

$ cdrecord -scanbus dev=ATAPI

Внимание: варианты cdrecord -scanbus dev=ATAPI и cdrecord -scanbus дадут разные относительно друга друга параметры, которые потом нужно указывать при записи в параметре dev=

UPD: Добавил в опции «Rock Ridge»
UPD#2: Добавил в опции `-l`

Ранее Ctrl + ↓