войти зарегистрироваться

Всё об Asus eeePC whois

индекс
129,48

Расширение рабочего стола

У ноутбуков Asus EeePC иногда не хватает разрешения экрана. Многие окна не помещаются на рабочем столе и их приходится перемещать мышкой что бы увидеть элементы, выходящие за его границы. Так же возникают проблемы с играми. И если под Windows с помощью драйверов можно расширить рабочий стол больше физического разрешения и скроллить его с помощью мышки, то в Linux для того что бы получить такую же возможность придется немного потрудится.

Введение


Некоторое время назад X.org потерял возможность устанавливать виртуальное разрешение больше чем физическое и перемещать отображаемую область с помощью мышки. Поэтому для EeePC Дэниел Фишер и Дэвид Гриффит разработали небольшую утилиту i810pan. Эта программа позволяет перемещать отображаемую область рабочего стола в пределах установленного виртуального разрешения. Она использует функцию SetVidMode расширения XF86Vidmode для перемещения отображаемой области. Для своей работы i810pan требует:
  • — X.org 1.3 с расширением Vidmode Его наличие можно проверить коммандой
    $ xdpyinfo | grep "VidMode"
  • — RandR 1.2

Получение программы


Исходные тексты программы можно получить по адресу http://users.on.net/~dgriffith/i810pan-new.tgz. В архиве содержатся следующие файлы:
  • about.txt — в этом файле указаны устаревшие команды для запуска старой версии программы. В нем теперь нет необходимости
  • COPYING — лицензионное соглашение
  • i810pan — скомпилированная версия программы. Будет работать не на всех машинах, поэтому лучше собрать утилиту самому
  • i810pan.c — исходные тексты программы
  • Makefile — make-файл для упрощения сборки программы
  • README — краткая справка
  • startpan.sh — скрипт для запуска предыдущей версии программы. Он устарел, поэтому им пользоваться не стоит
  • xrandr — утилита для изменения разрешения экрана. Поставляется на тот случай, если у пользователя ее нет
Если i810pan используется на EeePC 701 то можно попробовать запустить собранную версию, но для EeePC 90x ее потребуется собрать самому, так как в ней жестко зашито разрешение экрана.

Компиляция


Для сборки программы нам потребуется три дополнительных файла:
  1. XTest.h
  2. xf86vmode.h
  3. libXxf86vm.a
В дебиане они расположены в пакетах x11proto-xext-dev, x11proto-xf86vidmode-dev и libxxf86vm-dev, для их установки надо выполнить следующую команду:
# apt-get install x11proto-xext-dev x11proto-xf86vidmode-dev libxxf86vm-dev

Физическое разрешение экрана жестко задано в исходных текстах программы. Так как она изначально создавалась для EeePC 701, то владельцам EeePC 90x надо найти пару строк в i810pan.c
// TODO: figure out real panel dimensions
panel_w = 800;
panel_h = 480;

и изменить их следующим образом:
// TODO: figure out real panel dimensions
panel_w = 1024;
panel_h = 600;

Теперь выполним команду
$ make

или (если решили не использовать make-файл)
$ gcc -o i810pan i810pan.c -lX11 -l Xxf86vm

В результате мы получили нашу утилиту. Приступим к настройке X-сервера.

Настройка X-сервера


Что бы использовать эту утилиту нам надо установить требуемое виртуальное разрешение экрана. Для этого придется слегка подправить xorg.conf, вставив в него следующие строки:
DefaultDepth 24
SubSection "Display"
Depth 24
Virtual 2048 2048
EndSubSection

в секцию «Screen» (это также пригодится при подключении внешнего монитора).
После внесенных изменений необходимо перезапустить иксы (например, нажав Ctrl+Alt+BackSpace, предварительно сохранив все документы).
Наконец-то можно перейти запуску программы.

Использование i810pan


Что бы запустить программу надо выполнить две комманды:
$ xrandr --fb 1280x1024
# ./i810pan

Первая устанавливает виртуальное разрешение экрана (в данном примере равное 1280x1024), а вторая запускает утилиту из текущей директории. Обратите внимание что для ее запуска требуются права суперпользователя.
Теперь, если подвести мышку к краю экрана, он начнет перемещаться, показывая содержимое за его границами.
Если мы захотим вернуть все как было, то нам надо выключить утилиту и вернуть рабочий стол в исходное состояние. Вернуть рабочий стол в исходное состояние можно двумя способами — установить виртуальное разрешение равное физическому (для EeePC оно равно 800x480):
$ xrandr --fb 1024x600

или просто сменить видеорежим на требуемый:
$ xrandr -s 1024x600

У каждого из них есть свой недостаток. При использовании первого способа надо сначала вернуть экран в левый верхний угол. А при смене видеорежима происходит отключение монитора что немного раздражает.

Заключение


После того как поставил включение и отключение i810pan на горячие клавиши, использовать его стало очень удобно. Единственная проблема с которой я столкнулся — это неадекватное поведение kicker'a, который не обращал внимание на смену разрешения и продолжал висеть по середине экрана. Самый простой способ обойти это — перенести его на левую или верхнюю границу экрана.

комментарии (10)

  • В свое время попробовал такое извращение: имхо не стоит игра свеч. Выглядит это крайне неприятно, а у 9-дюймового епца вполне достаточный экран. Уж лучше оптимизировать все остальное: убрать строку заголовка, уменьшить или даже совсем убрать панели, убрать строку меню, статус-бары и прочее.
    • Во-первых, включение/отключение расширения рабочего можно переключать одной клавишей, если правильно настроить горячие кнопки. Не обязательно же пользоваться этой программой постоянно, ее можно включать при необходимости. Во-вторых, невозможно оптимизировать полноэкранные приложения (эта программа была написана одним из авторов для того что бы на своем EeePC 701 играть в Героев)
  • а никто не пробовал запускать программу на Aspire One?
    • В принципе она использует стандартные возможности X-сервера, поэтому проблем с запуском на других ноутбуках быть не должно
      • можешь сделать одолжение, собрать и выложить программу под разрешение 1024x600?
        :)
        • Если у тебя не Debian Lenny то могут возникнуть проблемы совместимости… Проще собрать самому, это займет не больше 5-ти минут
          • ммм… три файла которые для сборки нужны, для Ubuntu где взять, не подскажешь?
            • Кхм… предполагаю что в тех же пакетах что и для дебиана.
              • буду пробовать :)
  • Для Мастдая есть специальная утилитка для установки требуемого разрешения (с растягиванием, без прокрутки)
Только авторизованные пользователи могут оставлять комментарии. Авторизуйтесь, пожалуйста.