Я недавно возвратился к человечности (14.10), и я в настоящее время пытаюсь получить мой, несколько контролируют установку для работы правильно.
Это хорошо работало после первой установки в желаемой конфигурации: 1600x900 встроенный монитор (Thinkpad T430), кроме того, 1920x1200 внешний монитор (Asus VK226H), который соединен DVI или VGA или mDP.
Однако после первой перезагрузки это приветствовало меня 'выбранной конфигурацией для дисплеев, не мог быть применен' и показал мне частично наложение и высоко исказил фон странным размещением средства запуска, и нефункциональное взаимодействие мыши (не нажимает, где это показывают). Переключение на зеркальный режим сделало все функциональным снова.
Взглянув на Конфигурацию X-сервера, я заметил, что только внешний монитор представлен в графическом расположении и выпадающее меню 'Выбора', в то время как дисплеи показывает им обоим. 'Выбранная конфигурация для дисплеев не могла быть применена', начал открываться почти каждый раз, когда я применяю что-то к дисплеям или X-серверу, применяю что-то к дисплеям, перезагрузке или повторно подключаю внешний монитор (неважно, который порт).
так как это - новая Учетная запись, мне не разрешают встроить изображения. Вот является 2 снимка экрана с версией драйвера 331 показом обоих дисплеев и конфигурации X-сервера прежде и после того, как мне удалось получить все видимое/не наложение после перезагрузки. В то время как это было в большой степени искажено вдоль измерения по вертикали (и части рабочего стола вне экрана) на физических экранах, это не отражается в снимке экрана
Перестав работать ужасно с большим количеством настроек X Server, я решил попробовать драйверы прежней версии. Я произвел чистку формирователей тока с помощью этого метода и установил 304 версии хотя программное обеспечение и Обновления. То же самое произошло. Это работало после начальной настройки и установки, но перестало работать снова после перезагрузки. Встроенный монитор все еще не обнаружился в X-сервере.
Так как это не достигло ничего, что я вернулся назад к 331 и попробовал его еще раз тем же результатом. Все выглядит хорошо мне в lshw и dpkg.
dpkg -l | grep nvidia
ii nvidia-331 331.113-0ubuntu0.1 amd64 NVIDIA binary driver - version 331.113
ii nvidia-331-uvm 331.113-0ubuntu0.1 amd64 NVIDIA Unified Memory kernel module
ii nvidia-opencl-icd-331 331.113-0ubuntu0.1 amd64 NVIDIA OpenCL ICD
ii nvidia-prime 0.6.7 amd64 Tools to enable NVIDIA's Prime
ii nvidia-settings 331.20-0ubuntu8 amd64 Tool for configuring the NVIDIA graphics driver
sudo lshw -C display
*-display
description: VGA compatible controller
product: GF108M [NVS 5400M]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nvidia latency=0
resources: irq:48 memory:f0000000-f0ffffff memory:c0000000-cfffffff memory:d000
0000-d1ffffff ioport:4000(size=128) memory:f1000000-f107ffff
В этой точке я понятия не имею, что сделать, так как это - очевидно, проблема с размещением моих экранов на виртуальном экране, но это не показывает всем им в меню конфигурации. Как я заставляю это обнаруживаться так, чтобы я мог настроить все правильно?
Любая справка значительно ценилась бы.
Если Вы должны еще зарегистрировать извлечения или другую информацию, сообщенную мне.
Хорошо, это - немного сценария жемчуга, который устанавливает право конфигураций дисплея снова после того, как перезагрузка уничтожает их. Так как я заставил своего локального героя Linux писать это для меня, я только понимаю приблизительно половину из него. Таким образом, возможно, необходимо задать развить вопрос заставить это работать на Вас.
#!/usr/bin/perl
# settings
our @preferred_outputs = qw(HDMI1 VGA1 LVDS1);
our $poll_interval_seconds = 5.0; #this script actually keeps running and
# periodically checks whether I plugged in my external monitor or not
our $sleep_seconds_at_start = 5.0; #this is the important bit
our $sleep_after_set = 5.0;
# end of settings
use strict;
use feature ":5.10";
use Time::HiRes qw(sleep);
sub eq_hashes (\%\%);
fork && exit;
#this is to make sure this script runs only once... I think
my @pids = split /\s+/, qx/pgrep -x `basename '$0'`/;
my @other_pids = grep { $_ != $$ } @pids;
if(@other_pids > 0) {
kill "TERM", @other_pids;
}
sleep $sleep_seconds_at_start;
my %old_mode = get_default_mode();
set_auto_mode();
sleep $sleep_after_set;
while(sleep $poll_interval_seconds) {
my %cur_mode = get_default_mode();
unless(eq_hashes(%cur_mode, %old_mode)) {
%old_mode = %cur_mode;
set_auto_mode();
sleep $sleep_after_set;
}
}
sub eq_hashes (\%\%) {
my ($h1, $h2) = @_;
return hashref_to_string($h1) eq hashref_to_string($h2);
}
sub hashref_to_string {
my $m = $_[0];
return join "\0", map { $_, $m->{$_} } sort keys %$m;
}
#so this seems to be using xrandr to find out the resolution of the screen
#and then it returns that value
sub get_default_mode {
open my $xrout, "-|", "xrandr"
or die $!;
my %default_mode;
my $cur_output;
while(<$xrout>) {
given($_) {
when(/^(\w+) connected/) {
$cur_output = $1;
}
#xrandr prints all possible resolutions, and puts a + next to the default one
when(/^\s*(\d+x\d+)\s+[0-9.]+.\+/) {
$default_mode{$cur_output} = $1;
}
}
}
close $xrout;
return %default_mode;
}
sub set_auto_mode {
my %default_mode = get_default_mode();
my @opts;
my $display_chosen = 0;
for my $output (@preferred_outputs) {
push @opts, "--output", $output;
if(exists $default_mode{$output} && $display_chosen == 0) {
push @opts, "--mode", $default_mode{$output};
$display_chosen = 1;
}
push @opts, "--off";
}
system "xrandr", @opts;
}
Хорошо, таким образом, я не знаю, знакомы ли Вы с жемчугом. Этот сценарий в основном использует xrandr для реализации всех конфигураций. Таким образом, у Вас должны быть xrandr и жемчуг, установленный, чтобы это работало. Но я думаю, что это могло бы на самом деле работать из поля (если я понимаю Вашу проблему правильно). Возможно, необходимо играть вокруг с xrandr немного.
Моя установка такова, что у меня есть разные вещи на моих двух экранах, и они, как предполагается, друг рядом с другом. Если я помню правильно. Я действительно не вижу, где в сценарии, который происходит, но так или иначе фиксация разрешений экранов добилась цели для меня. (Я не могу сделать никакого тестирования теперь, потому что у меня нет своего второго экрана под рукой.)
Это - очевидно, взлом, таким образом, я был бы счастлив, если бы было более каноническое решение (и кто-то мог бы отправить его).