The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Каталог документации / Раздел "Документация для Linux" / Оглавление документа
Next Previous Contents

14. Desktop

14.1 Что такое WM, DE и чем они отличаются? Что лучше?

Есть 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 на генном уровне). Т.е. стоит попробовать несколько и выбрать то, что /просто нравится именно вам/.

Несколько интересных, хоть и местами спорных, статей имеется на http://linux-forever.narod.ru/winman/index.htm

На http://linuxportal.ru/entry.php/P491_0_3_0 можно почитать о том, "Как поменять Display Manager" в подробностях.

14.2 Размер десктопа == разрешению монитора при переключении разрешения. Это возможно? Как поменять разрешение, не завершая X-сервер?

В KDE 3.1.x и выше есть программа "Screen Resize & Rotate" (K - > System tools) . Пускаете ее как апплет, она садится в трей. Ею переключаете разрешение - размер десктопа тоже будет меняться.

В 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 с изменившимся размером окон.

14.3 Как узнать, была ли выставлена прописанная в xorg.conf частота монитора/разрешение?

Откройте терминал и дайте команду xrandr. После нее будут выведены возможные разрешения и рабочие частоты. В строке, помеченной звездочкой, ваше текущее разрешение и частота обновления.

Чем/как отрегулировать яркость в LCD дисплеях Apple Cinema Display?

http://acdcontrol.sourceforge.net/

14.4 Как в KDE переключать языки по Ctrl+Shift?

Вообще-то никак :) Лучше выключить эту возможность в KDE, и использовать средства X-сервера, а в качестве индикатора - kkbswitch или если не хватает функционала последней, xxkb.

Видел предположение, что если в файле ~/.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 этот способ не работал.

14.5 Как отключить сглаживание шрифтов (anti-aliasing) в приложениях GTK?

Для GTK-приложений - в консоли выполнить export GDK_USE_XFT=0 или прописать эту команду в ~/.gtkrc. Если после этого приложения перестанут видеть TTF-шрифты, нужно прописать директорию с ними в файле конфигурации X-сервера, либо FontServer'а.

Чтобы убрать сглаживание с помощью FontServer'а (спасибо Demetrio):

В ~/.fonts.conf

<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<!-- /etc/fonts.conf file to configure system font access -->
<fontconfig>
        <!--  Enable sub-pixel rendering
        <match target="font">
                <test qual="all" name="rgba">
                        <const>unknown</const>
                </test>
                <edit name="rgba" mode="assign"><const>rgb</const></edit>
        </match>
         -->

<match target="font">
        <test name="size" compare="less_eq">
                <double>12</double>
        </test>
        <edit name="antialias" mode="assign">
                <bool>falselt;/bool>
        </edit>
</match>
<match target="font">
        <test name="pixelsize" compare="less_eq">
                <double>12</double>
        </test>
        <edit name="antialias" mode="assign">
                <bool>false</bool>
        </edit>
</match>
 <match target="pattern" name="family">
           <test qual="any" name="family">
               <string>fixed</string>
           </test>
           <edit name="family" mode="assign">
               <string>mono</string>
           </edit>
</match>
        <match target="pattern" name="family">
            <test qual="any" name="family">
                <string>console</string>
            </test>
            <edit name="family" mode="assign">
                <string>mono</string>
            </edit>
</match>
<match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>mono</string>
             </test>
             <edit name="spacing" mode="assign">
                 <int>100</int>
             </edit>
</match>
<match target="pattern" name="family">
             <test qual="any" name="family">
                 <string>Helvetica</string>
             </test>
             <edit name="family" mode="assign">
                 >string<sans-serif</string>
             </edit>
</match>
<alias>
        <family>serif</family>
                <prefer>
        <family>Times New Roman</family>
                </prefer>
</alias>
<alias>
        <family>sans-serif</family>
                <prefer>
        <family>Verdana</family>
                </prefer>
</alias>
<alias>
        <family>monospace</family>
                <prefer>
        <family>Andale Mono</family>
                </prefer>
</alias>
</fontconfig>

Дополнительно можно прочитать о настройке шрифтов здесь.

Также можно добавить параметр в $HOME/.Xresources

Xft.antialias: false

14.6 Как отключить сглаживание шрифтов (anti-aliasing) в приложениях QT?

Для Qt-приложений можно через Центр Управления KDE - Центр Управления -> Внешний вид -> Шрифты -> Использовать сглаживание для шрифтов (Control Center -> Appearance & Themes -> Fonts -> Use anti-alising for fonts)

14.7 Как включить "нормальное" сглаживание шрифтов (anti-aliasing)?

Из-за проблем с лицензированием алгоритма сглаживания FreeType распространяется с выключенными по умолчанию функциями сглаживания шрифтов, где используются пропиетарные алгоритмы. В нашей России патенты на эти алгоритмы не действуют, поэтому мы можем включить их использование и пересобрать FreeType. В общем случае подойдет способ, описанный здесь.

В redhat/fedora вы можете поправить соответствующий параметр в spec-файле и пересобрать пакет.

Есть дополнительные способы по улучшению вида шрифтов: http://www.freebsd.org/gnome/docs/faq2.html#q11

14.8 Какие файлы отвечают за внешний вид (шрифт, тема, стиль...) GTK приложений? Дайте пример такого файла.

Это файлы gtkrc. Существуют глобальные настройки и локальные. Локальные хранятся в домашней папке, в файле &.gtkrc, глобальные в /etc/gtk/gtkrc и /etc/gtk/gtcrc.ru.

Настройки внешнего вида приложений GTK 1.x

Файл /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"

Настройки внешнего вида приложений GTK 2.x

Глобальные настройки зависят от выбранной темы /etc/gtk-2.0/gtkrc:

gtk-theme-name = "Bluecurve"

Локальные настройки для приложений GTK 2.x хранятся в ~/.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, если он есть конечно.

Дополнение от int19h:

Стоит упомянуть про мерзкую привычку GNOME2 в некоторых дистрибутивах использовать вместо ~/.gtkrc автоматически создаваемый ~/.gtkrc-1.2-gnome, в котором первой строчкой идет include ~/.gtkrc-mine. Аналогично для GTK2 файл ~/.gtkrc-2.0 игнорируется под GNOME с запущенным gnome-settings-daemon.

14.9 Как переключить тему в gnome или приложениях gtk?

Скачиваем тему, распаковываем ее куда-нибудь, вроде $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 шрифты и темы можно переключить следующим образом.

Шрифты: Applications -> Desktop Preferences -> Font, поставить переключатель в положение Monochrome

Темы: Applications -> Desktop Preferences -> Theme

Строго говоря, эта схема может меняться в зависимости от дистрибутива. Дистронезависимый способ: открыть Nautilus в режиме обозревателя (browser mode) и набрать в строке адреса "preferences:///". Там будут значки с подписями Font и Theme, соответственно.

Если у вас не стоит Gnome, проще воспользоваться gtk-theme-switch. Если у вас его нет, вы можете скачать его здесь: http://www.muhri.net/nav.php3?node=gts (отдельно версия для приложений gtk-1 и gtk-2) или попробовать найти в своем дистрибутиве.

14.10 Почему в GTK-программах, например, xmms, jpilot вместо русских букв квадраты?

Это происходит потому, что в файле /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 можно посмотреть в предыдущем вопросе.

14.11 Как настроить шрифты в Motif-приложениях?

man editres

man xrdb

14.12 Как сделать, чтобы xmms можно было свернуть в трэй KDE/Gnome?

Данный плагин работает и в 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.

14.13 Как сделать, чтобы xxkb "висел" в трее IceWM?

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

14.14 Как ускорить проигрывание FLASH (заставить его использовать меньше ресурсов)?

Задать такую переменную:

export FLASH_GTK_LIBRARY=libgtk-x11-2.0.so.0

14.15 Почему Mozilla грузит процессор на 100%?

Скорее всего это не Mozilla, а контент открытых страниц. Одным из радикальных, но довольно действенных методов борьбы с этим явлением является отказ от использования flash-plugin (просто не устанавливать). Как вариант, можно поставить Adblock ( http://adblock.mozdev.org) и запретить *.swf.

14.16 Как включить java в mozilla?

14.17 Почему-то mozilla тормознуто открывает странички, а остальные браузеры нормально. Как лечить?

Скорее всего это проблема с обращением к ipv6. Добавьте в /etc/modprobe.conf (для ядер 2.4 - /etc/modules.conf):

# Turn off IPv6
alias net-pf-10 off
alias ipv6 off

14.18 Как изменить шрифты/цвета в интерфейсе mozilla? Где почитать о том, как настроить mozilla под себя?

Настройки шрифтов и цвета хранятся в файле ~/.mozilla/default/*/chrome/userChrome.css. Если его там нет, то создайте вручную. Вот пример настройки шрифтов:

/* UI fonts */
* {
font-size: 8pt !important;
font-family: Tahoma !important;
}

menubar {
font-weight: bold !important;
}

http://www.mozilla.org/unix/customizing.html

14.19 Как установить тему для firefox, не скачивая ее заново из интернета?

Воспользоваться скриптом отсюда - http://www.eightlines.com/neil/mozskin/installjar.html.

14.20 Как сделать так, чтобы браузеры показывали видео на страничках?

Нужно поставить соответствующий плагин для mplayer.

Лежит он здесь - http://mplayerplug-in.sourceforge.net/

14.21 Поисковое окно google в konqueror не понимает моей кодировки, что делать?

Чтобы указать кодировку, поправьте в файле /usr/share/services/searchproviders/google.desktop параметр Encoding.

14.22 Как отключить beep?

Если хочется отключить писк в консоли (для 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

В ядрах серии 2.6.х можно просто не собирать поддержку для pc speaker.

14.23 Какие самые распространенные команды в линуксе?

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

http://www.linuxdevcenter.com/linux/excerpt/LinuxPG_quickref/linux.pdf

14.24 Где прочитать про консольные коды?

man console_codes

14.25 Как запустить программу в фоне, без привязки к терминалу? (nohup, screen, disdown, fg, bg)

14.26 Как запустить в screen новое приложение, да без шелла?

Прямо из одного из окошек screen'а пишем: screen program. При этом запустится не ещё один screen под уже существующим, как можно было подумать, а уже существующий screen создаст ещё одно окошко, в котором без всяких bash'ей будет бегать программка program (с уже правильным заголовком).

14.27 Запущенный из под screen'a vim получается черно-белым. Как побороть? Запущен в консоли.

Задать где-нибудь в своих файлах конфигурации (например,  /.bashrc) export TERM=linux

14.28 Как в screen сделать скроллинг, если сидел в другом screen'е?

C-A [ и сколь pgUp/pgDn или Up/Down

14.29 Как понизить/повысить приоритет запускаемой программе?

Воспользуйтесь командой nice. Чтобы понизить приоритет, напишите нечто вроде:

user@linux$ nice -n 10 myprogram

Подробности можно узнать, набрав man nice

14.30 Как запустить задачу на определенном процессоре в многопроцессорной системе? (CPU)

Нужны утилиты отсюда http://tech9.net/rml/schedutils/

Сама утилита называется taskset.

Прочитать обо всем можно здесь: http://www.kernel.org/pub/linux/kernel/people/rml/cpu-affinity/README-cpu-affinity

Посмотреть на каком процессоре выполняется задача можно с помощью обычной утилиты top.

14.31 Как сделать терминал без рамки?

Это настройка не терминала, а WM/DE.

Для FluxBox, это можна сделать например так: добавить в ~/.fluxbox/keys строку

"Mod4 d : ToggleDecor"

После этого нажатием на [Win+d] можно управлять наличием рамки у любого окна.

Например, для WindowMaker - Свойства окна (правая кнопка мыши по заголовку)->Атрибуты->Скрыть строку заголовка

14.32 Как разделить tar.gz на равные части?

man tar в районе -M

Либо man split и натравить split на tar.gz.

14.33 Как перевести текстовый файл из одной кодировки в другую?

Вот так.

14.34 Как прочитать файлы с ftp с кодировкой cp1251?

Есть несколько способов (и программ).

Первый: в терминале задаем переменную LANG=ru_RU.cp1251. Запускаем любимый клиент. Файлы будут выглядеть нормально.

Второй: ставим gftp - http://gftp.seul.org/. В свойствах выбираем Параметры->Набор символов удаленной стороны. Проблема в том, что они придут на машину в "непотребной" кодировке. Существуют патчи - можно почитать об этом здесь.

Третий: запускаем mozilla или konqueror и выбираем кодировку. У konqueror соответствующий пункт появится в меню tools (Select Remote Charset). Да, если вы перешли с одного сайта, указав там кодировку cp1251, на другой с cp1251, названия файлов на другом будут отображаться некорректно. Лечится просто - выставляете какую-нибудь другую кодировку, затем снова cp1251.

Четвертый: Пользуемся lftp:

lftp :~> set ftp:charset CP1251
lftp :~>open <имя виндового ftp сервера>

Примечание: Для первых двух случаев файлы после закачки придется переименовать. Первый способ не сработает для fedora core.

14.35 Как провести операцию по преобразованию группы графических файлов (например, уменьшить размер ста файлов)?

Есть такой пакет ImageMagick, Входит он практически в любой дистрибутив и содержит группу утилит, предназначенных для различного преобразования файлов. Полный список поддерживаемых форматов вы можете узнать, набрав man ImageMagick.

В качестве примера возьмем задачу по уменьшению группы файлов (jpeg уменьшить пропорционально, чтобы координата x равнялась 800 пикселям).

Пишем такой скрипт, у меня он называется conv (автор неизвестен):

#!/bin/sh
for i in $@ ; do convert -geometry 800 $i small/$i ; done

Дальше делаем просто:

14.36 Как установить Maya 4.5 (В том числе под RedHat 9/ASP 9/Fedora Core 1 и прочее)?

  1. Ставим maya из rpm.
  2. Переходим в /usr/aw/maya/bin
  3. Находим файлик Maya 4.5
  4. В этом файле ищем строчки (27 строка):
    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
    

14.37 Как установить в консоли развертку больше 60Гц при использовании framebuffer?

Нужно настроить 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) придется делать дополнительные телодвижения.

14.38 Как изменить разрешение в консоли? Как настроить framebuffer?

Нужно настроить framebuffer, а если он уже настроен и драйвер не стандартная vesafb, а специфичный драйвер карты, то можете для изменения частоты использовать утилиту fbset (иначе частоту придется менять при загрузке).

Почитать о том, как все настроить, можно здесь и по материалу этой статьи написана еще одна.

Есть две тонкости:

  1. Стандартный драйвер vesafb выдает только 60Гц, но это можно обойти.
  2. Русский шрифт будет только в первой консоли. Для руссификации остальных придется сделать скрипт (или взять готовый из документа по русификации Slackware.

14.39 Как увеличить разрешение и частоту развертки консоли не используя framebuffer?

Для этого нужна специальная утилита SVGATextMode. Лежит она здесь: ftp://sunsite.unc.edu/pub/Linux/utils/console/

Чтобы она нормально собралась на современных системах, нужно в файл cfgfile.y добавить после строки #include <stdlib.h> строчку #include <stdio.h>

Также рекомендуется посмотреть на патчи под определенные карточки.

За ответ благодарим lumag.

14.40 Как отключить framebuffer? (Нужный вопрос для владельцев карт Nvidia)

Возможны следующие варианты:

14.41 Как сделать скриншот с framebuffer?

Можно воспользоваться программой fbdump.

Можно воспользоваться такой командой:

user@localhost $: cat /dev/fb0

14.42 Как сделать скриншот текстовой консоли?

Воспользоваться таким скриптом. Выходной формат - bmp:

#!/usr/bin/perl
$ttynum=shift or die "Usage: grab <vttynum>\n";
die "$ttynum: Incorrect virtual console number\n" unless $ttynum=~/^\d+$/;
$ttydev="/dev/tty" . $ttynum;
$vcsadev="/dev/vcsa" . $ttynum;
open(VCSA,$vcsadev) or die "Cannot open $vcsadev: $!\n";
$len=read(VCSA,$buf,16384);
close(VCSA);
($height,$width,$curx,$cury)=unpack('C4',$buf);
open(T,$ttydev) or die "Cannot open $ttydev: $!\n";
$fnt=pack('L4096',0);
$fntx=pack('SSP',256,32,$fnt);
ioctl(T,0x4B6B,$fntx) or die "Cannot grab console font: $!\n";
close(T);
($nchars,$fheight)=unpack('SS',$fntx);
if($fheight>=14) {
  $thickness=2;
} else {
  $thickness=1;
}
foreach $c (0..255) {
  my @tmp;
  my @ch=split(//,substr($fnt,$c*32,$fheight));
  push @tmp, [ split(//,unpack('B8',shift @ch)) ] while @ch;
  push @font,[ @tmp ];
}
print 'BM'.pack('L29',
$width*$height*$fheight*4+118,0,118,40,$width*8,$height*$fheight,0x40001,
0,$width*$height*$fheight*4,0x120b,0x120b,16,16,
0x000000,0x000080,0x008000,0x008080,0x800000,0x800080,0x808000,0xC0C0C0,
0x808080,0x0000FF,0x00FF00,0x00FFFF,0xFF0000,0xFF00FF,0xFFFF00,0xFFFFFF);
for($line=$height-1;$line>=0;--$line) {
  my @img;
  push @img,[] while (1..$fheight);
  foreach $col (0..$width-1) {
    ($fgattr,$bgattr)=
        split(//,unpack('h2',substr($buf,5+2*($line*$width+$col),1)));
    $ch=unpack('C',substr($buf,4+2*($line*$width+$col),1));
    if($line==$cury && $col==$curx) {
      foreach $_ (1..$fheight-$thickness) {
        push(@{$img[$fheight-$_]},
          map {$_?$fgattr:$bgattr} @{$font[$ch][$_-1]});
      }
      foreach $_ (0..$thickness-1) {
        push @{$img[$_]},($fgattr)x8;
      }
    } else {
      foreach $_ (1..$fheight) {
        push(@{$img[$fheight-$_]},
          map {$_?$fgattr:$bgattr} @{$font[$ch][$_-1]});
      }
    }
  }
  print pack('H'.(8*$width),join('',@$_)) while $_=shift @img;
}

За ответ благодарим sS.

14.43 Как записать свои действия, производимые на десктопе, в видеофайл? Как записать сессию vnc?

Запись в avi - http://sourceforge.net/projects/xvidcap

Запись в swf - http://www.unixuser.org/~euske/vnc2swf/

Запись сессии vnc - http://www.sodan.org/%7Epenny/vncrec/

14.44 KDE тормозит, как ускорить его работу?

Помимо пересборки ядра под свою систему, X-сервера, выключения ненужных системных служб и сервисов самого KDE можно прочитать вот эту статью.

Существенный прирост дает использование prelink'а (на данный момент его поддержка присутствует практически во всех современных дистрибутивах).

14.45 Хочется сделать OSD-вывод надписей из разных программ, например xmms...

Есть такая вещь под названием xosd.

http://www.ignavus.net/software.html

Под xmms есть отдельный плагин.

Пакет для redhat/fedora core был найден на ATrpms

14.46 Как перекачивать с компьютера на компьютер файлы?

Если по виндовой сети - ищите в faq слово samba.

Если поднят ssh - sftp/scp.

Ну и можно ftp-сервер поднять.

14.47 Чем выводить логи на обои/рабочий стол?

Например, воспользоваться программой root-tail


Next Previous Contents


Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру