LXDE два рабочих стола: различия между версиями
imported>Vix (Новая страница: « Подключение второго монитора или телевизора в Unity (Ubuntu 11.04/11.10) Опубликовано 15.07.2011 15:01 По…») |
imported>Vix Нет описания правки |
||
Строка 158: | Строка 158: | ||
Вот и все, наслаждайтесь! :) | Вот и все, наслаждайтесь! :) | ||
Если что-то непонятно, или хотите что-то добавить — пишите пожалуйста [http://www.zhart.ru/software/105-second-monitor-or-tv-in-unity сюда] | Если что-то непонятно, или хотите что-то добавить — пишите пожалуйста [http://www.zhart.ru/software/105-second-monitor-or-tv-in-unity сюда] | ||
ИСТОЧНИКИ: | |||
<hr> | |||
* [https://geekus.ru/second-monitor-or-tv-in-unity/ Подключение второго монитора или телевизора в Unity (Ubuntu 11.04/11.10)] |
Версия от 18:32, 22 января 2019
Подключение второго монитора или телевизора в Unity (Ubuntu 11.04/11.10)
Опубликовано 15.07.2011 15:01 Подключение второго монитора или телевизора в Unity (Ubuntu 11.04/11.10)
Возникла у меня необходимость подключить в Ubuntu 11.04 второй монитор (к видеокарте производства Nvidia). Как оказалось, при активированной оболочке Unity это действо связано с некоторыми сложностями. В этой статье я расскажу о том, как мне удалось использовать эти сложности себе на пользу и успешно настроить работу второго монитора (превратить его в своеобразный медиа-центр), не переходя при этом на классический Gnome 2 (то есть оставаясь на Unity). Те же советы должны подойти и при подключении телевизора в качестве второго монитора, а также при подключении внешнего монитора к ноутбуку. И та же инструкция подходит для Ubuntu 11.10.
Итак, ниже привожу пошаговую инструкцию по настройке. Я везде говорю «второй монитор», однако при необходимости это словосочетание можно смело менять на «телевизор», инструкции будут те же. 1 Подключение монитора или телевизора
[Killed-http://config.privoxy.org/send-banner?type=auto-by-size]
Вполне логично, что первое действие, которое нужно сделать — это физически подключить монитор (или телевизор) к вашей видеокарте. Естественно, на видеокарте должны присутствовать необходимые для этого разъемы. В моем случае это видеокарта Nvidia GF 8600GT, на которой присутствует два разъема — аналоговый (VGA) и цифровой (DVI). К каждому из этих разъемов я и подсоединил по монитору.
2 Выбор режима работы второго монитора
Надеюсь, проприетарные драйвера от Nvidia у вас уже установлены? Если нет — первым делом установите их. Если да — откройте «NVIDIA X Server Settings» и активируйте второй монитор. После этого нужно выбрать режим работы второго монитора.
В режиме «TwinView» второй монитор становится продолжением первого, то есть рабочий стол увеличивается на размер второго монитора. Этот режим вполне сносно работает из коробки, и дополнительно настраивать его (даже в Unity) не нужно. Однако меня этот режим не устраивает по многим причинам. Например, если один человек работает на первом мониторе, а второй в это время смотрит фильм на втором, то при переключении на другой рабочий стол картинка меняется и на том мониторе, на котором смотрят фильм, что неприемлемо.
Другое дело — режим «Separate X screen». В этом режиме производится эмуляция запуска второго X-сервера. Знатоки утверждают, что реально вторые X-сы не стартуют, но это уже технические подробности, знать которые нам сейчас не обязательно. Итак, выбираем режим «Separate X screen» и сохраняем конфигурацию нажатием на кнопку «Save to X Configuration File». После этого появится диалог, где нам предложат ввести пароль админа и перезаписать файл «/etc/X11/xorg.conf». Перезаписываем. Настройки Nvidia, режим Separate X screen
Перезагружаемся и видим странную картину — на первом дисплее загружена оболочка Unity, а вот на втором — голые X-ы. В этом можно убедиться, подвигав мышкой и перекинув курсор на второй дисплей — он превратится в крестик. Такой вот баг наблюдается, но немного поразмыслив, я решил, что его можно использовать в свою пользу.
3 Запуск на втором мониторе оконного менеджера
Запустить на втором мониторе еще одну Unity — задача нетривиальная. Но если мы хотим превратить его в подобие мультимедиа-центра, то нам это и не нужно. А вот запустить там оконный менеджер все же не помешает, иначе могут возникнуть сложности на следующих шагах.
У нас есть выбор как минимум из двух оконных менеджеров — «Compiz» и «Metacity». Я выбрал Metacity, поскольку, во-первых, Compiz иногда ведет себя неадекватно, а во-вторых — Metacity гораздо легче, а эффекты Компиза нам все равно не понадобятся.
Запустить Metacity на втором мониторе очень просто, для этого достаточно выполнить в консоли команду:
DISPLAY=:0.1 metacity
Кстати говоря, той же командой можно запустить на втором дисплее любую программу, заменив «metacity» на соответствующую команду. Убедиться в том, что Metacity действительно запустился, можно по курсору, который теперь превратится из ужасного крестика в элегантную стрелочку :) Мало того, теперь на втором мониторе мы даже можем переключаться между рабочими столами, используя для этого соответствующие комбинации клавиш.
Теперь нам нужно добавить вышеприведенную команду в автозагрузку, но записать ее в чистом виде не получится, поэтому в любом текстовом редакторе создадим простенький bash-скрипт следующего содержания:
#! /bin/bash DISPLAY=:0.1 metacity
Сохраните этот файл под любым именем в любом месте на диске, после чего сделайте его исполняемым и пропишите в автозагрузку при помощи системного диалога «Автоматически запускаемые приложения».
4 Настройка переключения между мониторами посредством клавиатуры
Переключение между мониторами мышкой является не самым удобным — легко потерять курсор из вида, случайно увести его на другой монитор. Поэтому я предлагаю настроить переключение между мониторами с клавиатуры.
Но прежде отключим переключение мышью. Для этого я открыл под рутом в текстовом редакторе файл «/etc/X11/xorg.conf» и добавил к координатам второго монитора сотню пикселей, чтобы разделить мониторы между собой. Вот пример соответствующей секции из моего xorg.conf:
Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" 0 0 Screen 1 "Screen1" Relative "Screen0" 1380 0 InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" Option "Xinerama" "0" EndSection
Если теперь перезагрузиться, то мы увидим, что добраться курсором мыши до второго монитора уже нельзя. Как же на него переключаться? В этом нам поможет утилита Switchscreen. Скачайте и распакуйте ее. После этого перейдите в консоли в каталог «switchscreen-0.1.1» (командой cd) и выполните последовательно следующие три команды:
make sudo cp togglescreen.sh /usr/local/bin/ sudo cp switchscreen /usr/local/bin/
Утилита установлена, и следующее, что нужно сделать — это назначить клавиатурную комбинацию для переключения между столами. Для этого откройте системный диалог «Комбинации клавиш клавиатуры», нажмите на кнопку «Добавить», в поле «Название» впишите «Переключение между экранами», а в поле «команда» — «/usr/local/bin/togglescreen.sh» (без кавычек). После этого назначьте удобную для вас комбинацию клавиш (у меня это «Ctrl+Super+Enter»). Понажимайте эту комбинацию, и если вы все сделали правильно, то при этом вы будете переключаться между дисплеями. Настройка переключения между мониторами посредством клавиатуры
5 Выбор медиа-центра для отображения на втором экране
Я могу порекомендовать как минимум два медиа-центра для Linux, которые обладают широчайшим функционалом — позволяют просматривать видео, изображения, слушать музыку, причем не только с диска, но и используя интернет-сервисы. Также они изобилуют дополнительными мелкими функциями, например отображают погоду в вашем городе. Речь идет о XBMC и Boxee. Какой из этих двух медиа-центров выбрать — дело ваше, могу только сказать, что XMBC немного проще и лучше русифицирован, а Boxee больше ориентирован на различные социальные фишки, и требует для полноценной работы регистрации на сервисе и в некоторых сопутствующих сервисах.
В конце концов, если ничего кроме просмотра видео вам не нужно, вы можете выводить на втором мониторе не навороченный медиа-центр, а любой проигрыватель, например VLC или SMPlayer.
6 Настройка отображения медиа-центра в полноэкранном режиме
При запуске любого из указанных медиа-центров (XBMC или Boxee) на втором мониторе возникает еще одна проблема. При запуске в полноэкранном режиме каждый из этих медиа-центров блокирует на себя клавиатуру и мышь, соответственно переключиться на первый экран возможности нет до тех пор, пока не будет завершена работа медиа-центра. Если же запускать программу в оконном режиме, то она запускается в маленьком окошке, да еще и с ненужным в этом случае оформлением окна. Поэтому мы пойдем на хитрость — создадим скрипт, который будет запускать медиа-центр в оконном режиме, но при этом будет скрывать оформление окна и растягивать его на весь экран.
Для начала установите пакет «wmctrl» (если он у вас еще не установлен):
sudo apt-get install wmctrl
Вот пример скрипта для запуска XMBC (взято отсюда):
#!/bin/bash # Launch XBMC in windowed mode, then use wmctrl to remove the titlebar # Select display 1 DISPLAY=:0.1 # Start XBMC without blocking this script xbmc & # Wait for the XBMC window to appear status=0 while [ $status -eq 0 ] do sleep 1 status=`wmctrl -x -l | grep "XBMC Media Center" | wc -l | awk '{print $1}'` done # Force XBMC window to fullscreen wmctrl -x -r XBMC Media Center.XBMC Media Center -b toggle,fullscreen
Этот скрипт нужно при помощи текстового редактора сохранить в файл и сделать этот файл исполняемым. При его запуске XBMC будет запускаться на втором мониторе на полный экран, но при этом легко можно будет вернуть фокус на первый монитор. Дальнейшие действия зависят от ваших потребностей — можно добавить ярлык запуска скрипта в главное меню, можно повесить кнопку запуска на панели Unity, а можно прописать его в автозагрузку, если вы хотите, чтобы медиа-центр запускался на втором мониторе автоматически при загрузке системы.
Точно такой же скрипт можно сделать для запуска Boxee:
#!/bin/bash # Launch Boxee in windowed mode, then use wmctrl to remove the titlebar # Select display 1 DISPLAY=:0.1 # Start Boxee without blocking this script /opt/boxee/run-boxee-desktop & # Wait for the Boxee window to appear status=0 while [ $status -eq 0 ] do sleep 1 status=`wmctrl -x -l | grep "Boxee" | wc -l | awk '{print $1}'` done # Force Boxee window to fullscreen wmctrl -x -r Boxee.Boxee -b toggle,fullscreen
Естественно, скрипт можно модифицировать на свое усмотрение. Вот пример модифицированного скрипта для запуска Boxee (взято отсюда):
#! /bin/bash # runs xbmc in a normal window, in Screen 1 (TV) # then it brings it up to full screen # this is to avoid xbmc trapping the mouse STATUS=0 WINCLASS=Boxee.Boxee DISPLAY=:0.1 SLEEPDELAY=3 # disable screensaver gnome-screensaver-command -i & /opt/boxee/run-boxee-desktop & while [ $STATUS -eq 0 ] do sleep $SLEEPDELAY STATUS=`wmctrl -x -l | grep $WINCLASS | wc -l | awk '{print $1}'` done wmctrl -x -r $WINCLASS -b toggle,fullscreen & sleep 3 /usr/local/bin/switchscreen 0 &
Вот и все, наслаждайтесь! :) Если что-то непонятно, или хотите что-то добавить — пишите пожалуйста сюда
ИСТОЧНИКИ: