• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

Fehlermeldung beim Aufrufen von Midnight Commander

caracenos

Newbie
Hallo in die Runde,

wenn ich den mc mit meinem Usernamen aufrufe, ist alles in Ordnung. Sobald ich aber mit su den mc aufrufen will, erscheint er zwar und ich kann ihn auch bedienen, jedoch erhalte ich folgende Fehlermeldung:

"# mcedit
Xlib: connection to ":0.0" refused by server
Xlib: Invalid XDM-AUTHORIZATION-1 key (failed key comparison)"

Da offensichtlich alles funktioniert, kann ich die Fehlermeldung einfach ignorieren?

Aufgefallen ist mir diese Warnung beim Versuch eine .netrc zu erstellen. Sie läßt sich zwar einrichten, jedoch beim ftp-Aufruf wird sie wohl nicht herangezogen, denn ich muss weiterhin loginnamen und password eingeben. Tippfehler schließe ich aus, da mehrmals überprüft und bei manueller Eingabe funktioniert es ja auch. - Aber wahrscheinlich ist dies eine andere Frage und ich sollte sie in einem anderen Forum stellen :)

Würde mich freuen, wenn mir jemand auf die Sprünge helfen könnte.

Liebe Grüße
C.
 

gaw

Hacker
Eigentlich ist es ein Skarileg in einem Linux Konsole Forum den mc überhaupt zu erwähnen, insbesondere da heutige shells wesentlich mächtiger sind als ein Fake des Norton Commander aus seligen DOS-Zeiten.
Das Problem was du schilderst hat aber vermutlich nichts mit dem Dateimanager zu tun, der mit verschiedenen Compiler für diverse MODULA Implementierungen um den Befehlsnamen konkurriert, ansonsten könnte ich dir kaum antworten, da ich den mc nicht benutze.

Dein Problem beschreibt die Berechtigung wenn du auf der Konsole unter root-Rechten arbeitest ein x-Programm zu starten. ich nehme an in dem Moment in dem der mc unter root-Rechten auf X zugreift kommt es zu den Fehlermeldungen. Dein laufender X-Server unter den Benutzerrechten des Users unter dem du dich eingeloggt hast erlaubt nicht das andere User auf ihn zugreifen. Dass lässt sich einstellen, ist aber anhängig von der SuSE-Distribution die du benutzt.

Leider ändern die Entwickler der SuSE-Distribution bei manchen neuen Distribution den Authentifizierungsmechanismus ein wenig. Du kannst das mit xterm testen. Öffne eine Konsole und gib xterm ein, dann öffnet sich ein xterm auf dem windowmanager.
Melde dich als su an und gibst wieder su ein, dann erhältst du eine Fehlermeldung. Um trotzdem unter X als root arbeiten zu können reichte bis zur 9.0 folgende Befehlssequenz:
otto@maschine:~>xhost localhost
su
password:*******
maschine:/home/otto#>mc
Damit erlaubt der User otto, das andere Benutzer (eben auch root) local auf den X-Server zugreifen dürfen. Anschließend kannst du als root X-Programme starten. Unter 9.1 haben die SuSE-Entwickler diese schnelle Lösung abgestellt und ihr eigenes Programm sux vorgestellt mit den ein User X Programme von der Konsole aus starten soll. (Ein Schelm wer böse Absichten bei solchen Nickelichkeiten vermutet, etwa um sux zu etablieren und sich damit von anderen Distrubutionen abzusetzen.....). Auf jeden Fall existiert immer eine Möglichkeit, wie bei allen anderen SuSE-Distributionen vorher auch, den vorherigen Zustand wieder herzustellen. Damit also xhost +localhost unter 9.1 funktioniert muss in
/etc/sysconfig/displaymanager
die Variable die den Port 6000 öffnet freigeschaltet werden:

Code:
 DISPLAYMANAGER_XSERVER_TCP_PORT_6000_OPEN="yes"

Wenn du dich nicht mit einem xdm, gdm oder kdm direkt auf X einloggst sondern klassisch auf einer Konsole und dann mit startx den X-Server startest darfts du zudem nicht vergessen die Datei .xserverinit in dein Home-Verzeichnis zu kopieren.

Eine andere Möglichkeit besteht darin mit xauth den Benutzer root anzumelden. Das ganze ist sicherer als xhost +localhost und funktioniert so:
otto@maschine:~>xauth extract keyfile $DISPLAY
otto@maschine:~>su
password:
machine:/home/otto # xauth merge /home/otto/keyfile
machine:/home/otto # export $DISPLAY=:0.0
machine:/home/otto # mc

Wenn dann der mc X-Programme starten will, sollte es funktionieren.

mfG
gaw
 

Martin Breidenbach

Ultimate Guru
gaw schrieb:
Eigentlich ist es ein Skarileg in einem Linux Konsole Forum den mc überhaupt zu erwähnen, insbesondere da heutige shells wesentlich mächtiger sind als ein Fake des Norton Commander aus seligen DOS-Zeiten.

AUA. Da hast Du jetzt aber eines meiner Lieblingstools schwer beleidigt ;)

Ich stamme ja selber aus seligen DOS-Zeiten.

Ich habe vor laaanger Zeit mal einen kurzen Ausflug ins Import/Export-Geschäft gemacht aber mit Modula konnte ich mich einfach nicht anfreunden.
 
OP
C

caracenos

Newbie
Hallo,

tja, als Neuling hat man es schwer - mal findet man nicht das richtige Forum, mal stellt man die falschen Fragen ;-)

Aber meine benutzte Suseversion (9.1) hätte ich schon mitteilen können. Da muss sich mir noch etwas Disziplin angewöhnen.

gaw schrieb:
Eine andere Möglichkeit besteht darin mit xauth den Benutzer root anzumelden. Das ganze ist sicherer als xhost +localhost und funktioniert so:
otto@maschine:~>xauth extract keyfile $DISPLAY
otto@maschine:~>su
password:
machine:/home/otto # xauth merge /home/otto/keyfile
machine:/home/otto # export $DISPLAY=:0.0
machine:/home/otto # mc
Diese Möglichkeit habe ich gewählt und einige interessante Meldungen erhalten:
caracenos@linux:~> xterm
caracenos@linux:~> xauth extract keyfile $DISPLAY
caracenos@linux:~> su
Password:
linux:/home/caracenos # xauth merge /home/caracenos/keyfile
linux:/home/caracenos # export $DISPLAY=:0.0
bash: export: `:0.0=:0.0': not a valid identifier
linux:/home/caracenos # mc

Dann habe ich unter dem root-Fenster nochmals probiert und zweimal verschwand das Root-Befehlsfenster und ich erhielt ungefähr so eine Meldung (Sitzung root beendet mit Konsole 1). Genau weiß ich es nicht mehr, da auch dieses Fenster nach kurzer Zeit verschwand. Beim dritten Versuch wurde meinem Wunsch entsprochen, den mc zu öffnen und ich erhielt auch keine Fehlermeldung mehr. Das habe ich nun ein einige Mal probiert und es funktioniert einwandfrei.

Jetzt aber nochmals die Frage: Kann ich die Meldungen des bash.... not a valid identifier und die root-Beendigungsmeldung gefahrlos ignorieren?

Herzlichen Dank für die Hilfe

C

mfG
gaw
 

gaw

Hacker
Die Meldung
bash: export: `:0.0=:0.0': not a valid identifier

erhältst du wahrscheinlich deshalb, weil du ein Leerzeichen zuviel eingegeben hast.
Beispiel:

falsch!
export $DISPLAY =:0.0

statt
richtig!
export $DISPLAY=:0.0

Die Fehlermeldung zeigt dir, dass du etwas eingegeben hast mit dem die bash nichts anfangen kann.

Das Leerzeichen dient der bash als Trennzeichen (solange man ihr kein anderes gibt, steht in älteren Kommandoshells in der Umgebungsvariabeln IFS, wird in neueren Shells aus Sicherheitsgründen bei jedem Befehl automatisch auf space gesetzt). Daher sollte man sie nicht willkürlich in seinen Kommandozeilen verstreuen. Sie trennen Befehlsnamen von Optionen, und Parametern. Zuweisungen erfolgen stets ohne Leerzeichen nach dem Schema:
Variable=Wert


mfg
gaw
 

gaw

Hacker
Martin Breidenbach schrieb:
gaw schrieb:
Eigentlich ist es ein Skarileg in einem Linux Konsole Forum den mc überhaupt zu erwähnen, insbesondere da heutige shells wesentlich mächtiger sind als ein Fake des Norton Commander aus seligen DOS-Zeiten.

AUA. Da hast Du jetzt aber eines meiner Lieblingstools schwer beleidigt ;)

Ich stamme ja selber aus seligen DOS-Zeiten.

Ich habe vor laaanger Zeit mal einen kurzen Ausflug ins Import/Export-Geschäft gemacht aber mit Modula konnte ich mich einfach nicht anfreunden.

Ich arbeite eigentlich selten mit Modula. Ich hab nur einmal einem Professor einer Universität eine Linux-Maschine eingerichtet, der viel mit Modula arbeitete. Als ich dann modula starten wollte wurde es Nacht, genauer midnight. Den mc alias midnight commander nannte ich dann um in
Code:
mc_very_old_data_file_manager_with_no_sense_on_this_machine
und hatte nie wieder Probleme mit Namenskollisionen......;-)

mfg
gaw
 

gaw

Hacker
Also dass halte ich für übertrieben, das Linux System so umzustricken, dass ich den mc als "Ich hasse dich" laufen lassen kann......;)


mfG
gaw
 

towo

Moderator
Teammitglied
Bei SuSE reicht ein sux zum switchen, dann kommt auch die Meldung nicht mehr!
 

wbast

Newbie
gaw schrieb:
Die Meldung
bash: export: `:0.0=:0.0': not a valid identifier

erhältst du wahrscheinlich deshalb, weil du ein Leerzeichen zuviel eingegeben hast.
Beispiel:

falsch!
export $DISPLAY =:0.0

statt
richtig!
export $DISPLAY=:0.0

Die Fehlermeldung zeigt dir, dass du etwas eingegeben hast mit dem die bash nichts anfangen kann.
Netter Versuch aber leider total daneben
statt :
export $DISPLAY=xyz
sollte er lieber:
export DISPLAY=xyz
die Bash geht nämlich noch vor 'export ' über die Befehlszeile
und ersetzt gnadenlos $DISPLAY mit dem was in $DISPLAY steht.
in diesem Falle ':0.0'. D.h. der export-Befehl sieht folgendes:
export :0.0=:0.0 und das ist ja wohl nicht das was der Vorposter haben wollte. Deshalb merken:
export nie in $.;-)
 
Oben