Есть X-сервер (XFree86, xorg). Он отвечает за устройства ввода-вывода, графику и вывод окон.
А еще есть менеджеры окон и рабочие среды, которые отвечают за поведение окон, число рабочих столов, вид окон, иными словами, за поведение и вид. К числу менеджеров окон можно отнести FluxBox (да любой *box), IceWM, Window Maker, FVWM, AfterStep и прочее. К группе вторых относятся вторым - KDE и Gnome, ну может еще XFCE. Где-то отдельно стоит Enlightenment - он вроде как теперь проходит по спецификациям к рабочим средам, но программ под его API почти нет.
Аббревиатура WM переводится как Window Manager (менеджер окон), коротко и довольно доступно об этом написано на здесь или здесь, вот кусочек:
X-сервер -- программа в определенном смысле довольно глупая. Все, что он умеет -- это выделять программам прямоугольные области экрана ("окна") и рисовать в них то, что программы попросят; плюс он знает, что одно окошко может располагаться поверх другого, и правильно их отрисовывает.
Но ведь надо еще изобразить рамку вокруг окошка, заголовок над ним, уметь "сворачивать" окно в пиктограмму и еще многое другое. Этим занимается специальная программа, называемая "Window Manager" (дословно - "менеджер окон").
В список функций хорошего window manager'а входят: декорирование окон (бордюр, заголовок, кнопочки), манипуляции с окнами (перемещение, изменение размера, свертывание в пиктограмму и т.д.), разнообразные меню и панели инструментов (например, для запуска программ), виртуальный экран.
Аббревиатура DE переводится как Desktop Environment (рабочая среда), на пальцах объясню - криво и коряво, зато понятно:
Рабочие среды имеют свои библиотеки (GTK, QT) и средства для более легкого создания приложений и их более тесной интеграции (собственный API). Соответственно, если я беру и собираю тот же licq с поддержкой KDE, то он будет убираться в трей, вызывать kmail, работать с Konqueror и получит поддержку arts. Если нет - получим тоже рабочее приложение, но без таких вкусностей.
Если программа собрана под рабочую среду, ее запуск и работа возможна и в оконном менеджере, но она утащит за собой необходимые библиотеки из своей рабочей среды. Например, kppp утащит kdeinit, а тот - kaccess и кучу еще всего, а StarDict (который работает только с Gnome) возьмет с собой еще и bonobo-activation-server.
Кстати, если программа написана к примеру на GTK, это еще не значит, что она написана под Gnome. Во-первых это значит, что такая программа не обязательно будет "прятаться в трей" и т.д. в этом самом Gnome, и во-вторых - она не будет "тянуть за собой" его сервисы.
Многие менеджеры могут собираться с поддержкой рабочей среды - тогда программы из сред смогут работать корректнее - например, убираться в тот же трей менеджера (который работает иначе, чем у рабочей среды).
В принципе, DE - это более прогрессивный (хоть и не unix-way) подход, если проблем с ресурсами нет, проще поставить рабочую среду.
Если хочется чего-нить эдакого, а используемые программы в рабочей среде не нуждаются, можно ставить что нравится.
Вопрос же о том, что лучше WM или DE весьма спорный - эффективно работать можно и там и там, а вопрос красивости - это дело вкуса (многим просто НЕ нравится тот-же KDE на генном уровне). Т.е. стоит попробовать несколько и выбрать то, что /просто нравится именно вам/.
Здесь имеется рейтинг самых разнообразных WM и DE, с описанием и ссылками на их домашние странички.
Несколько интересных, хоть и местами спорных, статей имеется на http://linux-forever.narod.ru/winman/index.htm
На http://linuxportal.ru/entry.php/P491_0_3_0 можно почитать о том, "Как поменять Display Manager" в подробностях.
В KDE 3.1.x и выше есть программа "Screen Resize & Rotate". Пускаете ее как апплет, она садится в трей. Ею переключаете разрешение - размер десктопа тоже будет меняться.
Что-то такое планируется (или уже есть) в Gnome.
Или же можно переключить вручную (если wm поддерживает расширение xrandr):
Запустите xrandr, он выдаст нечто вроде:
SZ: Pixels Physical Refresh *0 1152 x 864 ( 333mm x 252mm ) *78 1 1024 x 768 ( 333mm x 252mm ) 84 2 800 x 600 ( 333mm x 252mm ) 88 3 640 x 480 ( 333mm x 252mm ) 84 4 400 x 300 ( 333mm x 252mm ) 84 5 832 x 624 ( 333mm x 252mm ) 74 6 640 x 512 ( 333mm x 252mm ) 60 7 720 x 400 ( 333mm x 252mm ) 85 8 640 x 400 ( 333mm x 252mm ) 85 9 576 x 432 ( 333mm x 252mm ) 75 10 640 x 350 ( 333mm x 252mm ) 85 11 512 x 384 ( 333mm x 252mm ) 84 75 70 60 12 416 x 312 ( 333mm x 252mm ) 74 13 320 x 240 ( 333mm x 252mm ) 85 75 72 60 14 320 x 200 ( 333mm x 252mm ) 89 15 320 x 175 ( 333mm x 252mm ) 85 Current rotation - normal Current reflection - none Rotations possible - normal Reflections possible - none
Теперь напишете, например, xrandr 1 и вы получите 1024x768 с изменившимся размером окон.
Вообще-то никак :) Лучше выключить эту возможность в KDE, и использовать средства X-сервера, а в качестве индикатора - xxkb или kkbswitch.
Видел предположение, что если в файле /.kde/share/apps/kcmkeys/my.kksrc поменять строку
Switch to Next Keyboard Layout=Ctrl+Alt+Kна
Switch to Next Keyboard Layout=Ctrl+Shift_L;Ctrl+Shift_R
то работать будет как надо. На KDE версий выше 3.1.4 этот способ не работал.
Для GTK-приложений - в консоли выполнить export GDK_USE_XFT=0
или прописать эту команду в /.gtkrc. Если после этого приложения перестанут видеть TTF-шрифты, нужно прописать директорию с ними в файле конфигурации X-сервера, либо FontServer'а. Читайте
Как настроить шрифты?
Также можно добавить параметр в $HOME/.Xresources
Xft.antialias: false
Для Qt-приложений можно через Центр Управления KDE - Центр Управления -> Внешний вид -> Шрифты -> Использовать сглаживание для шрифтов (Control Center -> Appearance & Themes -> Fonts -> Use anti-alising for fonts)
Из-за проблем с лицензированием алгоритма сглаживания FreeType распространяется с выключенными по умолчанию функциями сглаживания шрифтов, где используются пропиетарные алгоритмы. В нашей России патенты на эти алгоритмы не действуют, поэтому мы можем включить их использование и пересобрать FreeType. В общем случае подойдет способ, описанный здесь.
В redhat/fedora вы можете поправить соответствующий параметр в spec-файле и пересобрать пакет.
Есть дополнительные способы по улучшению вида шрифтов: http://www.freebsd.org/gnome/docs/faq2.html#q11
Это файлы gtkrc. Существуют глобальные настройки и локальные. Локальные хранятся в домашней папке, в файле &.gtkrc, глобальные в /etc/gtk/gtkrc и /etc/gtk/gtcrc.ru.
Файл /etc/gtk/gtkrc в общем случае выглядит так и трогать его не нужно:
style "gtk-tooltips-style" { bg[NORMAL] = "#ffffc0" fg[NORMAL] = "#000000" } widget "gtk-tooltips" style "gtk-tooltips-style" style "gtk-progressbar-style" { bg[NORMAL] = "#ffffff" bg[PRELIGHT] = "#a0a0a0" } class "GtkProgressBar" style "gtk-progressbar-style"
Файл /etc/gtk/gtkrc.ru выглядит примерно так:
style "gtk-default-ru" { fontset = "-*-arial-medium-r-normal--12-*-*-*-*-*-koi8-r,\ -*-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r,\ -*-arial-medium-r-normal--12-*-*-*-*-*-koi8-r,*-r-*,\ -adobe-helvetica-medium-r-normal--12-*-*-*-*-*-koi8-r-* " } class "GtkWidget" style "gtk-default-ru"
Мы можем настроить gtk исключительно под себя, если создадим подобный файл в домашнем каталоге ( /.gtkrc или gtkrc.ru):
include "/home/fagot/.themes/Industrial/gtk/gtkrc" style "user-font" { font="-monotype-arial-medium-r-normal-*-*-140-*-*-p-*-koi8-ru" } widget_class "*" style "user-font" include "/home/fagot/.gtkrc.mine"
Глобальные настройки зависят от выбранной темы /etc/gtk-2.0/gtkrc:
gtk-theme-name = "Bluecurve" <verb> Локальные настройки для приложений GTK 2.x хранятся в ~/.gtkrc-2.0: <verb> ~/.gtkrc-2.0: include "/usr/local/share/themes/Default/gtk-2.0/gtkrc" style "user-font" { font_name="sans 12" } widget_class "*" style "user-font" include "/home/sk/.gtkrc.mine"
Файл .gtkrc-kde - раньше был нужен для указания шрифтов GTK-приложений, теперь - нет. Если не ошибаюсь, можно удалить и выключить галку KDE Control Center -> Appearance & Themes -> Apply Colors to non-KDE Applications.
Для некоторых тем кроме "картинок" (из /.themes/Theme-name/gtk-* например) также нужны библиотеки, которые должны быть правильно размещены. При сборке темы следует указать ./configure --prefix=PREFIX
, где PREFIX тот же что и у установленного GTK (для Slackware это /usr, к примеру).
Дополнение от eRazor:
Для GTK2-приложений в KDE используются настройки из конфигурационных файлов перечисленных в переменной GTK2_RC_FILES, например:
$GTK2_RC_FILES: /etc/opt/gnome/gtk-2.0/gtkrc: /opt/gnome/share/themes/Qt/gtk-2.0/gtkrc: ~/.gtkrc-2.0-plastik: ~/.kde/share/config/gtkrc
Обратите внимание на то, что суффикс в имени rc-файла содержит имя темы. Когда вы в KDE, используется не /.gtkrc-2.0, а /.gtkrc-2.0-plastic, если он есть конечно.
Скачиваем тему, распаковываем ее куда-нибудь, вроде $HOME/themes/_название_темы_
Далее в файле .gtkrc пишем include "$HOME/themes/_название_темы_/gtkrc"
Если есть файл .gtkrc.ru или gtkrc.ru проще всего сделать их ссылками на .gtkrc
Если у вас стоит KDE, то влияние на тему оказывает файл gtkrc-kde. Чтобы этого не происходило, вы можете снять галку в Центре Управления: Appearance & Themes -> Colors KDE -> Apply colors to non-KDE applications.
Если у вас стоит Gnome, проще (и лучше всего - со слов пользователя Gnome) воспользоваться gtk-theme-switch. Если у вас его нет, вы можете скачать его здесь: http://www.muhri.net/nav.php3?node=gts (отдельно версия для приложений gtk-1 и gtk-2) или попробовать найти в своем дистрибутиве.
Это происходит потому, что в файле /etc/gtk/gtkrc.utf8 (или /etc/gtkrc.ru - в файле, соответвующим вашей локали) фигурирует ссылка на шрифт семейства helvetica, в котором отсутствуют русские символы или указан несушествующий шрифт.
Данную неприятность легко исправить, вписав вместо него любой шрифт, который реально присутствует в системе. Например, на RedHat или Fedora Core, файл может выглядеть так:
style "default-text" { fontset = "-urw-urw bookman l-medium-r-normal-*-14-*-*-*-p-*-koi8-uni" } class "GtkWidget" style "default-text"
Также примеры для redhat можно посмотреть в предыдущем вопросе.
man editres
man xrdb
Данный плагин работает и в GNOME и в KDE - http://www.hellion.org.uk/xmms-status-plugin/index.html. Для Fedora Core готовый пакет можно взять на сайте http://freshrpm.org
Или скачать и поставить соответствующий plug-in:
http://xmms-kde.sourceforge.net/download.html.
На сайте также есть бинарники (rpm) под SuSe и RedHat.
Waso отвечает :
~/.xxkbrc: XXkb.mainwindow.enable: yes XXkb.mainwindow.geometry: 15x15+985-31 !Цифры можно подобрать и другие
и
~/.icewm/winoptions: XXkb.dTitleBar:0 XXkb.dBorder:0 XXkb.dResize:0 XXkb.ignoreTaskBar:1 XXkb.ignoreWinList:0 XXkb.dTitleBar:0 XXkb.dBorder:0 XXkb.dSysMenu:0 XXkb.dResize:0 XXkb.dClose:0 XXkb.allWorkspaces:1 XXkb.layer:AboveDock
Скорее всего это не Mozilla, а контент открытых страниц. Одным из радикальных, но довольно действенных методов борьбы с этим явлением является отказ от использования flash-plugin (просто не устанавливать). Как вариант, можно поставить Adblock ( http://adblock.mozdev.org) и запретить *.swf.
Задать такую переменную:
export FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0
/usr/lib/mozilla/plugins
)
Либо перед номером телефона пишем букву 'P' (латинская!), либо заходим в свойства kppp, команды и пишем вместо ATDT команду ATDP.
Дайте пользователю права на запись в директорию /var/lock (скажем, включив его в группу, владеющую данной папкой)
/etc/wvdial.conf: [Dialer Defaults] Modem = /dev/ttyS0 Baud = 112500 Init = ATZ Init2 = AT S11=50 Dial Command = ATDP Phone = 9955555 Username = int1104221 Password = LyQSptAy New PPPD = yes #Init3 = ATM0 [Dialer phone2] Phone = 9955556 [Dialer phone3] Phone = 1055555 [Dialer phone4] Phone=9519024 [Dialer phone5] Phone=9613332 [Dialer norm] Init3 = ATM1 [Dialer phone6] Phone=7132245 [Dialer phone7] Phone=7113676
Если хочется отключить писк в консоли (для bash и программ, использующих readline), можно добавить в /.inputrc строку `set bell-style off`, или `xset -b` (что эквивалентно `xset b off`), затем выйти из нее (консоли) и зайти снова - должно получиться. Или сделать setterm -blength 0.
Для xterm, rxvt и других графических эмуляторов также можно использовать команду `xset b off`.
Для более глубокого ознакомления со способами управления звуком (и не только) в консоли рекомендую поселить http://gazette.linux.ru.net/rus/articles/hobcon.html и http://linuxdoc.ru/HOWTO/mini/Visual-Bell.html
user@linux# nohup COMMAND [ARG]...
Программа nohup запускает COMMAND таким образом, что она игнорирует сигнал hangup, что позволяет ей продолжать работу и после выхода из терминала. Также, она перенаправляет весь вывод программы в файл $HOME/nohup.out и понижает приоритет выполняемой программы.
Воспользуйтесь командой nice. Чтобы понизить приоритет, напишите нечто вроде:
user@linux$ nice -n 10 myprogram
Подробности можно узнать, набрав man nice
Это настройка не терминала, а WindowManager'а.
Для FluxBox, это можна сделть например так: добавить в /.fluxbox/keys строку
~/.fluxbox/keys: "Mod4 d : ToggleDecor"
После этого нажатием на [Win+d] можно управлять наличием рамки у любого окна.
Для WindowMaker - Свойства окна (правая кнопка мыши по заголовку)->Атрибуты->Скрыть строку заголовка
man tar
в районе -M
Либо man split
и натравить split на tar.gz.
Для начала нужно посмотреть ресурсы при помощи команды smbclient -L winmachine
. На данный момент ресурсы с названием более 16 символов поддерживаются некорректно, т.е. все символы в названии после 16-го отсекаются.
Чтобы смонтировать нужный ресурс, дайте примерно такую команду:
smbmount //winmachine/movie /home/jackill/mnt/movie -o iocharset=koi8-r,rw,codepage=cp866,umask=0
Для ресурсов с паролем дайте команду:
smbmount //winmachine/work /home/jackill/mnt/work -o iocharset=koi8-r,rw,umask=0,codepage=cp866,username=_username_,password=_password_
Также существуют GUI-утилиты и специальный скрипт, искать ресурсы которыми и монтировать значительно удобнее.
Есть такой пакет
ImageMagick, Входит он практически в любой дистрибутив и содержит группу утилит, предназначенных для различного преобразования файлов. Полный список поддерживаемых форматов вы можете узнать, набрав man ImageMagick
.
В качестве примера возьмем задачу по уменьшению группы файлов (jpeg уменьшить пропорционально, чтобы координата x равнялась 800 пикселям).
Пишем такой скрипт, у меня он называется conv (автор неизвестен):
#!/bin/sh for i in $@ ; do convert -geometry 800 $i small/$i ; done
Дальше делаем просто:
./conv *.jpg
case Linux: set lib = libПосле них ставим
set lsFlags = '-l' setenv LD_ASSUME_KERNEL 2.4.2И весь кусок у нас выглядит так:
/usr/aw/maya/bin/Maya4.5: case Linux: set lib = lib set lsFlags = '-l' setenv LD_ASSUME_KERNEL 2.4.2 breaksw
Нужно настроить buffer.
Но есть тонкость - если вы используете родные модули для карт от ATI, Matrox и NVIDIA (и в случае последней карты остаетесь без драйверов с поддержкой 3D), то проблем не будет.
Но если вы используете универсальный vesa framebuffer, ядро придется предварительно патчить, потому как 60Гц на мониторе при высоком разрешении никому не нужно. Есть небольшая тонкость - кажется, что карты GForce FX 5600 и 5900 игнорируют команды переключения частоты.
Вот страница патча http://dev.gentoo.org/~spock/projects/vesafb-tng/. Прочитать немного о патче можно в этом обсуждении. Подходит только для карт, поддерживающих VBE 3.0 (например, GeForce), для VBE 2.0 (например, Radeon 8500) придется делать дополнительные телодвижения.
Нужно настроить framebuffer, а если он уже настроен и драйвер не стандартная vesafb, а специфичный драйвер карты, то можете для изменения частоты использовать утилиту fbset (иначе частоту придется менять при загрузке).
Почитать о том, как все настроить, можно здесь и по материалу этой статьи написана еще одна.
Есть две тонкости:
Для этого нужна специальная утилита SVGATextMode. Лежит она здесь: ftp://sunsite.unc.edu/pub/Linux/utils/console/
Чтобы она нормально собралась на современных системах, нужно в файл cfgfile.y
добавить после строки #include <stdlib.h>
строчку #include <stdio.h>
Также рекомендуется посмотреть на патчи под определенные карточки.
За ответ благодарим lumag.
Помимо пересборки ядра под свою систему, X-сервера, выключения ненужных системных служб и сервисов самого KDE можно прочитать вот эту статью.