Я бы рекомендовал просто использовать yakuake, терминал в том же стиле, что и guake для рабочего стола kde.
Вы можете установить его, запустив sudo apt-get install yakuake.
Успех!
После многих часов слепо обманывания с помощью xorg.conf и xrandr я нашел решение, которое работает.
Проблема заключается в следующем:
Драйвер Nvidia настаивает на использовании данных EDID с дисплея, а не на любом, установленном xrandr или в xorg.conf. По какой-то причине драйвер Nvidia не смог прочитать данные EDID с моего проектора.Таким образом, решение состоит в том, чтобы обеспечить переопределение EDID. Я не смог найти его для своего конкретного дисплея, но я смог найти его для другого проектора 720p. Он работает!
После получения файла EDID и помещения его в место, он установлен в файле xorg.conf, добавив строку, подобную этой, в раздел «Screen» xorg.conf:
Option "CustomEDID" "CRT-0:/path/to/edid.bin"
Здесь «CRT-0» - это то, где проектор подключен: к порту VGA.
Еще одно дополнительное осложнение состоит в том, что я не смог найти бинарный EDID-файл. Вместо этого, выполнив поиск файла «720p EDID», я нашел некоторые .INF-файлы, содержащие информацию EDID, извлеченную некоторой программой Windows. Это файлы формата .ini. Они содержат фактическую информацию EDID в блоке, который выглядит так:
[OVERRIDDEN-EDID_AddReg]
;Base EDID
HKR,EDID_OVERRIDE,"0",0x01,0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0xCB,0x81,0x07,0x00,0x00,0x00,0x0
0,0x00,0x11,0x01,0x03,0x80,0x6E,0x3E,0x78,0x0A,0xEE,0x91,0xA3,0x54,0x4C,0x99,0x26,0x0F,0x50,0x54,0x20,0x0
0,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x1D,0x00,0x7
2,0x51,0xD0,0x1E,0x20,0x6E,0x28,0x55,0x00,0x53,0x6F,0x42,0x00,0x00,0x1E,0x01,0x1D,0x80,0x18,0x71,0x1C,0x1
6,0x20,0x58,0x2C,0x25,0x00,0x53,0x6F,0x42,0x00,0x00,0x9E,0x00,0x00,0x00,0xFC,0x00,0x54,0x58,0x2D,0x53,0x5
2,0x38,0x30,0x35,0x0A,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFD,0x00,0x3B,0x3D,0x1E,0x2E,0x08,0x00,0x0A,0x2
0,0x20,0x20,0x20,0x20,0x20,0x01,0x5A
Чтобы превратить это в двоичный файл, я написал следующий крошечный скрипт Python:
#!/usr/bin/python
# first item was 0x01
s = "0x00,0xFF,0xFF,0xFF,0xFF,0xFF,0xFF,0x00,0x3D,0xCB,0x81,0x07,0x00,0x00,0x00,0x00,0x00,0x11,0x01,0x03,0x80,0x6E,0x3E,0x78,0x0A,0xEE,0x91,0xA3,0x54,0x4C,0x99,0x26,0x0F,0x50,0x54,0x20,0x00,0x00,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x1D,0x00,0x72,0x51,0xD0,0x1E,0x20,0x6E,0x28,0x55,0x00,0x53,0x6F,0x42,0x00,0x00,0x1E,0x01,0x1D,0x80,0x18,0x71,0x1C,0x16,0x20,0x58,0x2C,0x25,0x00,0x53,0x6F,0x42,0x00,0x00,0x9E,0x00,0x00,0x00,0xFC,0x00,0x54,0x58,0x2D,0x53,0x52,0x38,0x30,0x35,0x0A,0x20,0x20,0x20,0x20,0x00,0x00,0x00,0xFD,0x00,0x3B,0x3D,0x1E,0x2E,0x08,0x00,0x0A,0x20,0x20,0x20,0x20,0x20,0x20,0x01,0x5A"
s = "".join(map(lambda x : chr(int(x, 16)), s.split(",")))
f = open("edid.bin", "w")
f.write(s)
f.close()
Обратите внимание, что вам нужно удалить первые три поля из строки в .inf-файле: «HKR, EDID_OVERRIDE,« 0 », 0x01».
Чтобы убедиться, что результирующий файл EDID действителен, я использовал parse-edid (часть пакета read-edid):
tobin@thinktop:~/pathname/$ parse-edid edid.bin
parse-edid: parse-edid version 2.0.0
parse-edid: EDID checksum passed.
# EDID version 1 revision 3
Section "Monitor"
# Block type: 2:0 3:fc
Identifier "TX-SR805"
VendorName "ONK"
ModelName "TX-SR805"
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
HorizSync 30-46
VertRefresh 59-61
# Max dot clock (video bandwidth) 80 MHz
# DPMS capabilities: Active off:no Suspend:no Standby:no
Mode "1280x720" # vfreq 60.000Hz, hfreq 45.000kHz
DotClock 74.250000
HTimings 1280 1390 1430 1650
VTimings 720 725 730 750
Flags "+HSync" "+VSync"
EndMode
Mode "1920x540" # vfreq 60.053Hz, hfreq 33.750kHz
DotClock 74.250000
HTimings 1920 2008 2052 2200
VTimings 540 542 547 562
Flags "Interlace" "+HSync" "+VSync"
EndMode
# Block type: 2:0 3:fc
# Block type: 2:0 3:fd
EndSection
Таким образом, он оказался действительным. Действительно, после перезагрузки X-сервера я смог войти в настройки Ubuntu Display и нажать «Detect Displays». Он видит мой поддельный дисплей «ONKYO Corporation 50» и счастливо управляет его на 1280x720. Требуется еще один X-сброс, чтобы все работало.
... И поэтому мы любим Linux. (-: [ ! d16]
Для этого вам нужно использовать настройки nvidia. Не настройки отображения, которые предлагает Ubuntu. Это связано с тем, что драйверы являются проприетарными и не очень дружелюбными, когда дело доходит до использования таких вещей. Перед чтением я настоятельно рекомендую вам прочитать Как установить драйверы Nvidia?
Вот мой тестовый пример:
У меня есть видеопоток Epson и монитор компьютера. Без видеопотока это выглядит так:
Теперь, подключив видеовыход и нажав nvidia-settings в разделе конфигурации дисплея Nvidia, вы увидите Следующее:
Затем я перетаскиваю макеты вокруг (те, которые представляют видео луч и монитор) по своему вкусу и разрешению. Таким образом, они выглядят так:
Убедитесь, что вы выбрали тот, который хотите видеть по умолчанию, в качестве основного дисплея в нижней части параметров.
Теперь, если вы хотите, чтобы оба отображали то же самое, вам нужно сначала убедиться, что оба экрана поддерживают одинаковое разрешение или, по крайней мере, общее. В моем случае у меня есть это:
Видеобарабан поддерживает все разрешения 4: 3 до 1280x1024 ТВ-монитор поддерживает все разрешения 16: 9 до 1920x1080Итак, что мне нужно сделать, это найти самое высокое разрешение, где оба встречаются. Шахта была 1280x720 или 1024x768. Чтобы сделать это проще, выберите видеосигнал и выберите Первичный дисплей , как показано на следующем изображении в опции «Позиция»:
[!d26 ]
Убедитесь, что другой монитор (монитор телевизора в моем случае) является Первичным. По крайней мере, один из них должен быть Первичным, а другой - Клоном работать.
Теперь начните выбирать нужное разрешение. Если вы ошиблись, нажмите ESC и повторите, пока не найдете лучший для монитора и видеосигнала.
Опять же, все это нужно сделать с помощью панели настроек Nvidia. Не все карты Nvidia будут работать с настройками отображения, которые Ubuntu имеет с тех пор, как проприетарные драйверы еще не достаточно дружественны, чтобы позволить настройкам дисплея работать правильно.