Показаны сообщения с ярлыком tip. Показать все сообщения
Показаны сообщения с ярлыком tip. Показать все сообщения

Пара советов как привести изначально унылый внешний вид OpenOffice и Java-приложений к стилю программ на Gtk:



OpenOffice.org

Создаем файл /etc/profile.d/openoffice.sh со следующим содержанием:

#
# /etc/profile.d/openoffice.sh

export SAL_USE_VCLPLUGIN=gtk
export OOO_FORCE_DESKTOP=gnome
Теперь достаточно перелогиниться в системе, необходимые настройки подхватятся.

Java

Создаем файл /etc/profile.d/gtkjava.sh со следующим содержанием:
#
# /etc/profile.d/gtkjava.sh
export _JAVA_OPTIONS=" -Dswing.defaultlaf=com.sun.java.swing.plaf.gtk.GTKLookAndFeel \
-Dawt.useSystemAAFontSettings=on"
Также перелогинимся.

Что такое dwm...

...можно прочитать например здесь (динамический фреймовый оконный менеджер и т.п.).
Заинтересовавшимся про настройку можно (и нужно) почитать здесь.

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

# Будем ставить в домашнюю директорию, в скрытый каталог .dwm
mkdir .dwm
cd ./.dwm/
# Распаковываем
tar -zxf /<PATH_TO_DWM>/dwm-<VER>.tar.gz
# Складываем файлы из архива сюда же в ~/.dwm
mv ./dwm-*/* ./
rmdir ./dwm-*/
# Первоначальные настройки в config.h =)
vim ./config.h
# Компилим
make

PATH_TO_DWM - путь к архиву, VER - версия в имени файла. Архив с новой версией можно взять на сайте dwm.

Если вдруг компиляция валится с ошибкой вида:
/usr/include/X11/Xlib.h: В функции 'XSetOMValues'
/usr/include/X11/Xlib.h:3573: ошибка: expected declaration specifiers before '_X_SENTINEL'

...ситуацию поможет исправить добавление данного ключа к переменной CFLAGS в файле config.mk (именно в Xfuncproto.h лежат нужные для сборки макросы):
-include /usr/include/X11/Xfuncproto.h
Далее создадим простенький скрипт запуска (скрипт взят из README из поставки dwm):
~/.dwm$ echo '    while true
do
echo `date` `uptime | sed 's/.*,//'`
sleep 1
done | ~/.dwm/dwm' > DWM
~/.dwm$ chmod +x ./DWM

Теперь о двух способах, которыми я организовал запуск dwm в двух различных системах (AltLinux Desktop 4 и Ubuntu 8.10):


Первый способ

В AltLinux я просто произвел первоначальные настройки по аналогии с альтовским спеком, а именно создал файл /etc/X11/wmsession.d/23dwm со следующем содержанием:

NAME=DWM
DESC=Light and fast window manager
EXEC=/home/USER/.dwm/DWM
SCRIPT:
exec /home/USER/.dwm/DWM

, где USER, конечно, - имя вашего пользователя (как часть пути в домашний каталог).


Второй способ

Как я ставил на Ubuntu.
Поставил пакет из репозитория и увидел, что в убунте путь к бинарику dwm из коробки задается с помощью системы альтернатив (подробней об альтернативах здесь):
~/.dwm$ ls -l /usr/bin/dwm
lrwxrwxrwx 1 root root 21 2008-06-05 17:07 /usr/bin/dwm -> /etc/alternatives/dwm
~/.dwm$ ls -l /etc/alternatives/dwm
lrwxrwxrwx 1 root root 20 2008-11-26 11:37 /etc/alternatives/dwm -> /usr/bin/dwm.default

Так что легко можно добавить свой бинарик dwm в качестве альтернативы с сохранением системного:
~/.dwm$ sudo update-alternatives --install /usr/bin/dwm dwm /home/<USER>/.dwm/DWM 23

Смотрим что вышло:
~/.dwm$ update-alternatives --display dwm
состояние dwm: auto.
ссылка сейчас указывает на /usr/bin/dwm.default
приоритет /usr/bin/dwm.default: 100
приоритет /usr/bin/dwm.web: 50
приоритет /home/<USER>/.dwm/DWM: 23
Текущая `лучшая' версия: /usr/bin/dwm.default.

И выставим свой бинарик dwm по умолчанию:
~/.dwm$ sudo update-alternatives --set dwm /home/<USER>/.dwm/DWM
Используется `/home/<USER>/.dwm/DWM' для предоставления `dwm'.

Всё, теперь наш dwm готов к запуску (его можно выбрать в том же gdm в меню выбора сеанса).

Lftp - отличный консольный ftp-клиент (и в каком-то смысле http-) в синтаксисе команд ориентированный на bash (а оттого и интуитивно понятный unix-пользователям).

Чтобы начать работу есть смыcл прочитать статью на citkit.ru.
Развернутый туториал на английском языке можно найти здесь.

А теперь несколько советов разной степени полезности:

1) В lftp реализована кроме всего прочего и поддержка закладок.
Закладки храняться в простом текстовом виде в файле ~/.lftp/bookmarks.
Подерживается импорт закладок из сторонних приложений
(см. `ls /usr/share/lftp/import-*`)

Добавить текущую директорию в закладки можно командой:

> bookmark add <имя_закладки>

Закладки доступны с помощью автодополнения по клавише TAB при открытии (open) нового адреса. (просто наберите open и нажмите клавишу TAB, чтобы увидеть все сохраненные закладки)

Посмотреть адреса всех закладок можно командой:
> bookmark list

2) Команды pwd и cd осуществляют действия на удаленном сервере и имеют свои "локальные" аналоги lpwd и lcd.
Команда ls же такого аналога не имеет. Поэтому приходится смотреть содержимое локальной директории с помощью вызова команды оболочки shell: !ls .
Исправить ситуацию и создать команду lls поможет простенький alias в конфиге (~/.lftp/rc):
alias lls !ls --color

При этом работают и опции командной строки вроде:
> lls -la
3) Для получения приглашения командной строки lftp нужного формата и цвета (что может иногда быть удобно) добавляем для примера в конфиг такую строку:
set prompt "\[\e[1;30m\](\[\e[0;34m\]_\[\e[1m\]|\[\e[37m\]\[\e[35m\]_) \[\e[34m\]\u\[\e[0;34m\]\@\[\e[1m\]\h\[\e[1;30m\]:\[\e[1;34m\]\w\[\e[1;30m\]>\[\e[0m\] "

Подробнее о настройке цветов и формате приглашения см. статью на opennet и man lftp.

4) Чтобы увидеть например баннер сервера и другие подробности следует поднять debug-level до 3 следующей командой:
> debug 3
> open <имя_сервера>
Подробнее о debug-level см. /usr/share/doc/lftp/README.debug-levels.

5) Команды rm, put и get сами по себе маски не поддерживают, но имеют "m*" аналоги: mrm, mget и mput с поддержкой масок (wildcards)

6) Чтобы запоминать последний адрес в закладке "last" следует добавить в конфиг следующую строку:
set at-exit "bookmark add last"

Теперь всегда можно открыть последний посещенный в предыдущую lftp-сессию адрес командой:
> open last
7) Прямое пробрасывание ссылок из firefox можно реализовать с помощью расширения flashgot. Хотя в связке с firefox наверно лучше использовать специализированный менеджер закачек (вроде wget или d4x), а не ftp-клиент.

8) В поставке lftp идёт также lftpget - скрипт для стягивания одиночного файла (сам бинарик lftp в качестве аргумента принимает исключительно URL директории).

9) Если есть проблемы при отображении кириллических имен файлов на фтп есть смысл добавить в конфиг строку:
set ftp:charset cp1251

Подробней о таких возможностях как планировщик, история команд в стиле csh, слоты (что-то вроде параллельных сессий) можно прочесть в упоминавшимся выше туториале.

И получившийся в результате конфиг:
# Локальный ls
alias lls !ls --color
# Приглашение
set prompt "\[\e[1;30m\](\[\e[0;34m\]_\[\e[1m\]|\[\e[37m\]\[\e[35m\]_) \[\e[34m\]\u\[\e[0;34m\]\@\[\e[1m\]\h\[\e[1;30m\]:\[\e[1;34m\]\w\[\e[1;30m\]>\[\e[0m\] "
# Запоминать в закладке "last" последний адрес
set at-exit "bookmark add last"
# Кодировка сервера
set ftp:charset cp1251

"Хозяюшке на заметку": автоматически откадрировать отсканированные изображения, удалив темные области по краям, можно простой командой (выполнять в директории с изображениями):

for file in $(ls); do mogrify -fuzz 75% -trim $file; echo $file'        [DONE]' ; done

Было:

Стало:

Оптимальный эффект достигается подбором чувствительности ("fuzz") в процентах.
Конечно, не забудьте сделать backup директории, т.к. mogrify в отличие от convert переписывает исходные файлы (для подробностей см. сайт ImageMagick).


 

Copyright © 2007 DamnSmallBlog. Content is licensed under Creative Commons Attribution-Noncommercial.

Design: GeckoandFly and Blogcrowds.