Mac OSX X11 по русски. Или настраиваем xterm и Midnight Commander для работы с кириллицей.

Nov 02, 2011 01:46


Иногда необходимо запускать программы скомпилированные для X11 (см. http://ru.wikipedia.org/wiki/X_Window_System), например Midnight Commander или подключиться к удаленному *nix компьютеру. 
Я для редактирования системных файлов на сервере предпочитаю использовать Midnight Commander с его двухпанельной системой, поддержкой удаленных файловых систем, широким набором файловых операций и неплохим встроенным редактором. Удобнее набрать sudo mc и получить мощный графический шелл для работы с файлами, чем набирать кучу команд в терминале. Проблема одна - в терминале Midnight Commander не поддерживает работу мыши, а это согласитесь не очень удобно! Для полноценной работы необходимо запустить его в xterm  - стандартном терминале системы X11. Но если в terminal.app - вы без проблем получаете русскую локализацию, то для отображения кириллицы в X11 - необходимо проделать некоторые манипуляции. Вот этому и просвещенна моя заметка.


Устанавливаем Midnight Commander.
Можно попробовать собрать Midnight Commander из исходников, взятых с официального сайта - www.midnight-commander.org (к сожалению бинарников для Mac OSX там нет). Но более простой путь воспользоваться готовой сборкой.
Я рекомендую сборку от LouiSe - http://louise.hu/poet/?tag=mc. Скачиваем с сайта инсталляционный пакет (package) и устанавливаем.

У меня стоит сборка:
GNU Midnight Commander, версия 4.7.5
Built with GLib 2.21.6
Using the ncurses library
Со встроенным редактором
With subshell support as default
С поддержкой фоновых операций
С поддержкой мыши в xterm
С поддержкой интернационализации
С поддержкой многих кодировок
Virtual File Systems: cpiofs, tarfs, sfs, extfs, ftpfs, fish
Data types: char: 8; int: 32; long: 32; void *: 32; size_t: 32; off_t: 64;

Настраиваем X11.
Если запустить X11.app из папки Программы/Утилиты - запуститься xterminal  из которого можно запустить Midnight Commander набрав mc. Правда в начале вы увидите  что все будет на английском, а названия русских файлов не будет отображаться. Вот с этим и будем бороться.

Настройка locale.

В домашнем каталоге /Users/some_user открываем файл ~/.profile в текстовом редакторе и добавляем в конец следующие строки

LANG="ru_RU.UTF-8"; export LANG
LC_CTYPE="ru_RU.UTF-8"; export LC_CTYPE
LC_COLLATE="POSIX"; export LC_COLLATE
LC_ALL="ru_RU.UTF-8"; export LC_ALL

Теперь "шел" понимает русский - осталось настроить отображение.

Настройка xterm.

Редактируем в домашней директории файл ~/.Xresources
Если его нет - создаём командой  touch ~/.Xresources
В нем содержаться настройки X11, вот мой файл, но при желании вы конечно можете его изменить.

## file ~/.Xresources или ~/.Xdefaults
## XTERM SETTINGS
## see /usr/X11R6/lib/X11/doc/html/xterm.1.html
## или man xterm
##
*XTerm*deleteIsDEL: true
xterm*backarrowKeyIsErase: true
## РАЗМЕР ОКНА ПРИ СТАРТЕ (в символах)
xterm*vt100*geometry: 115x44
##
##   ФОНТ
## можно подставить свой шрифт, выбрав его программой  xfontsel
## например :
*font: -misc-fixed-*-*-*-*-18-*-100-100-*-*-*-r
##   ЦВЕТ
## основной и фоновый цвета терминал 
##например darkblue grey90 AntiqueWhite seashell2 ivory2 RoyalBlue black и т.п.
*foreground: black
*background: grey88
## но каждой программе можно присвоить и другие цвета. для примера - xcalc
xcalc*foreground: black
xcalc*background: white
##
##
## КУРСОР
xterm*cursorBlink: true
xterm*cursorColor: black
##
## форма указателя "мыши"  выбираем из - arrow,XTerm, left_ptr, bogosity, ...
xterm*pointerShape: left_ptr
xterm*pointerColor: navyblue
xterm*pointerColorBackground: white
##
## ПОЛОСА ПРОКРУТКИ - SCROLLBAR
xterm*scrollBar: true
xterm*rightScrollBar: true
xterm*jumpScroll: true
## буфер окна 10000 строк
xterm*saveLine: 10000
##
## ДОПОЛНИТЕЛЬНЫЕ НАСТРОЙКИ SCROLLBAR
## СМ. /usr/X11R6/include/X11/Xaw/Scrollbar.h
*Scrollbar.background: gray50
*Scrollbar.foreground: gray50
*Scrollbar.borderWidth: 0
*Scrollbar.shadowWidth: 0
*Scrollbar.thickness: 14
*Scrollbar.minimumThumb: 20
*Scrollbar.backgroundPixmap: gradient:horizontal?dimension=14&start=gray80&end=white
*Scrollbar.borderPixmap: gradient:horizontal?dimension=14&start=white&end=grey80
*Scrollbar.translations: #override\
: StartScroll(Forward) \n\
: StartScroll(Continuous) MoveThumb() NotifyThumb() \n\
: StartScroll(Backward) \n\
: MoveThumb() NotifyThumb() \n\
: NotifyScroll(Proportional) EndScroll()
##   ВЫДЕЛЕНИЕ
xterm*highlightSelection: true
xterm*trimSelection: true
xterm*highlightColor: RoyalBlue
##
## НАСТРОЙКИ КЛАВИАТУРЫ
##
## Настраиваем клавиатуру как в
## OSX Terminal.app - copy/paste и др.
*VT100.translations: #override\
Prior: scroll-back(1,pages) \n\
Next: scroll-forw(1,pages)\n\
Meta K: clear-saved-lines() \n\
Meta K: send-signal(int) \n\
Meta P: print() \n\
Meta minus: smaller-vt-font() \n\
Meta KP_Subtract: smaller-vt-font() \n\
Meta plus: larger-vt-font() \n\
Meta KP_Add: larger-vt-font() \n\
Meta C: select-cursor-start() \
select-cursor-end(PRIMARY, CUT_BUFFER0) \n\
Meta V: insert-selection(PRIMARY, CUT_BUFFER0) \n\
Meta M: iconify() \n\

Всё! Теперь X11 понимает русский! Убедиться в этом просто например команда ls покажет имена русских файлов корректно, а Midnight Commander будет на русском.



Последние настройки X11 -  запускаем и в меню  X11-настройки расставляем галочки как на рисунках.








«Cmd c», «cmd v» работает стандартно, «cmd -» «cmd +» уменьшают/увеличивают размер шрифта, «cmd k» очищает окно, и т.п.

Только не забудьте перезапустить X11.

Скачать файлы моей конфигурации можно отсюда - http://dl.dropbox.com/u/12110781/X11files.zip

Приятной вам работы за Маком!
P.S. Я постепенно переезжаю на новый хостинг - присоединяйтесь! http://macosx-tips.tumblr.com/
Принимаются к публикации интересные стати, обсуждения и т.п.

mac, xterm, hints mac, ru_locale, midnight commander, x11

Previous post Next post
Up