unikaj przekazywania X11 z Maca na Linuxa

0

Muszę uruchomić program na komputerze Mac zdalnie za pośrednictwem ssh z komputera z systemem Linux. Zabawne jest to, że program ma interfejs wiersza poleceń, ale zawsze tworzy okno GUI, nawet jeśli nie jest to konieczne. Ponieważ loguję się z komputera z systemem Linux, pojawia się następujący błąd:

<Error>: kCGErrorFailure: Set a breakpoint @ CGErrorBreakpoint() to catch errors as they are logged.
_RegisterApplication(), FAILED TO establish the default connection to the WindowServer,
_CGSDefaultConnection() is NULL.
couldn't allocate new Mac window

Czy mogę w jakiś sposób sprawić, że pomyśli, że łączy się z WindowServer na komputerze Mac? (znowu nie muszę widzieć tego okna)

użytkownik1084871
źródło
Jakie jest sshpolecenie? Spróbuj usunąć -xopcje.
Linuxios
Nie mylisz X11 i Mac Window Server? Są to różne technologie.
trojanfoe

Odpowiedzi:

2

Źle zdiagnozowałeś problem: sądząc po komunikacie o błędzie, program próbuje otworzyć okno na konsoli Mac, do którego nie ma prawa dostępu, ponieważ nie siedzisz przy klawiaturze (wyobraź sobie, że ktoś inny jest i nagle pojawia się okno).

Linux działa pod kontrolą X11, na komputerze Mac działa system Windows Server (chyba że skonfigurowałeś również X11). Jeśli uruchomisz emacsa w terminalu ssh, może się on pojawić w oknie twojego Linux-a przy pomocy zmiennej środowiskowej DISPLAY.

Ale twój program tego nie robi. Być może tak będzie, jeśli odpowiednio zdefiniujesz zmienną WYŚWIETLACZ. Ssh może to zautomatyzować za pomocą opcji -X. Będziesz wiedział, że jest skonfigurowany, gdy możesz tworzyć zwykłe programy X, takie jak emacs lub xterm, wyskakujące okno na twoim pudełku. Jeśli musisz uruchomić program GUI zdalnie, jest to jedyny sposób, aby to zrobić.

Ale ponieważ mówisz, że tak naprawdę nie potrzebujesz GUI: przeczytaj dokumentację swojego programu i dowiedz się, czy istnieje opcja wiersza poleceń, która ją pomija.

Alexis
źródło
OP w tytule wspomina o X11, ale myślę, że jest zdezorientowany (Mac WindowServer to nie X11).
trojanfoe
Ponieważ on loguje się z Linux, normalny program byłby rzeczywiście próbuje otworzyć okno X11 na linux. Ma jednak inny problem. Widzę to teraz w komunikacie o błędzie.
Alexis
Nie działa Uzyskaj ten sam błąd. Czy uważasz, że tytuł wprowadza w błąd (w rzeczywistości jestem zdezorientowany)