Zmień domyślny monitor konsoli Linux


24

Czy jest jakiś sposób na określenie, na którym monitorze konsola jest wyświetlana w systemie Linux?

Szczegóły:
Mam konfigurację z 3 monitorami i 2 kartami graficznymi. Kiedy uruchamiam komputer, BIOS wyświetla się na karcie graficznej PCI (która ma mały monitor). Podczas uruchamiania systemu Linux konsola jest wyświetlana na tym samym monitorze. Czy istnieje sposób, aby wyjście konsoli było wyświetlane na innym monitorze? Używam bufora ramki Vesafb.

W moim systemie BIOS nie widzę sposobu na zmianę domyślnej karty graficznej.


1
miałem takie same problemy z konfiguracją dwóch monitorów (pojedyncza karta wideo); po zamianie wyjść ustaliłem, że BIOS wyświetla tylko pierwszy wykrywany monitor. dostaję odpowiedni monitor, jeśli odłączę lub całkowicie odłączę zasilanie od tego, który BIOS zwykle pobiera, ale jeśli jest podłączony (nawet w trybie gotowości), BIOS wysyła wszystko do tego monitora.
quack quixote

Miałem nadzieję na flagę poleceń jądra, która wybierze, z którą kartą wideo się połączyć.
Tim

Podaj swoją wersję systemu Linux i menedżera okien.
harrymc

4
Jestem zaskoczony odpowiedziami i komentarzami odnoszącymi się do X. Pytanie dotyczy konsoli, która jest tym, gdzie trafiają komunikaty jądra. GNOM? Xrandr? menedżer okien? Co do cholery?
Alan Curry,

@AlanCurry: Tak się dzieje, gdy post nie jest wystarczająco jasny.
harrymc

Odpowiedzi:


7

Myślę, że opcja szukamy tutaj jest fbcon=map:ngdzie njest numer przypisany do urządzenia fb żądanego wyjścia wideo.

Dokumentacja / fb / fbcon.txt wyjaśnia to, a także wspomina con2fbmapo narzędziu do zmiany w czasie wykonywania.


Nie musiałem tego testować, ale jest to najbliższa odpowiedź na prawdopodobne, jakie mogę znaleźć. Daję to nagrodę i skomentuję, kiedy to przetestuję. Wszystkie pozostałe odpowiedzi wydają się mówić o X, więc oczywiście nie są tak poprawne.
Journeyman Geek

Nie mam już sprzętu do przetestowania tego, czy ktoś może potwierdzić, że to działa?
Tim

@Tim M: Przetestowałem to. To działa.
beroal

3

Jeśli chodzi o zmianę konsoli działającej na jakim monitorze (bufor ramki @ / dev / fb x), możesz pobrać ten mały, osiemdziesięcio-liniowy program C, który pozwala ci określić takie rzeczy.

wget https://raw.githubusercontent.com/kunguz/pi3b/master/con2fb.c
gcc con2fb.c -o con2fb.out

Po pobraniu i skompilowaniu jest to najprostsze użycie sudo ./con2fb.out /dev/fb[frame buffer number, starting at 0] /dev/tty[console number, starting at 1].

Spowoduje to „zablokowanie” określonego terminala do określonego monitora (bufora ramki), więc kiedy spróbujesz i przełączysz się na terminal, który został przypisany do monitora, skupi się na tym terminalu zamiast przełączania go na bieżącym wyświetlaczu.

Pamiętaj jednak, bufor ramki! = Monitor fizyczny. Każdy monitor, na którym chcesz mieć osobne urządzenie tty, musi być podłączony do osobnej karty graficznej (więc oddzielne bufory ramek).

Możesz także zawiesić jądro, jeśli nie jesteś ostrożny, więc uważaj, aby nie oszukać programu! ;)


-3

Wierzę, że będzie to zależeć od używanego menedżera okien. Na przykład Oświecenie ma zdolność zapamiętywania pozycji okna.

Fluxbox obsługuje również zapisywanie pozycji i stanów okna.

Nie wierzę, że GNOME może to zrobić od razu po wyjęciu z pudełka, ponieważ uważają, że pisanie kodu, który będzie pamiętał jego ostatni stan, powinno być zadaniem programisty.

Tak więc posiadanie tej funkcji zależy od:

  1. Wersja systemu Linux, z którego korzystasz
  2. Menedżer okien, którego używasz
  3. Jeśli chcesz spróbować zmienić menedżera okien na jeden z nich
  4. I zależy to od tego, czy te menedżery okien są obsługiwane przez twój ulubiony smak Linuksa.

1
OP mówi o wirtualnej konsoli, a nie o oknie X. Jeśli masz środowisko graficzne, zwykle można je znaleźć za pomocą klawiszy Ctrl + Alt + F1 do Ctrl + Alt + F6. (możesz wrócić do X za pomocą Ctrl + Alt + F7).
Daniel H
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.