Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

wiki:linux:probleme [2015/10/03 04:09]
grossing
wiki:linux:probleme [2015/10/04 04:28] (aktuell)
grossing
Zeile 1: Zeile 1:
-**DIE INHALTE DIESES WIKIS ZIEHEN AUF [[http://grossing.org|http://grossing.org]] UMDIESE SEITE IST BEREITS DORT VEREWIGT UND WIRD HIER ÜBER KURZ ODER LANG VERSCHWINDEN!**+**DIE INHALTE DIESER SEITE SIND NACH http://grossing.org/linux/2010/05/18/kmail-script-kopieren-problem.html und http://grossing.org/linux/firefox/ssh/computer/2010/05/18/firefox-auf-zwei-rechnern-und-einem-monitor.html UMGEZOGEN!**
  
-====== Fehlersuche und Problembehebung unter Linux ====== 
- 
-/****** ===== Vorgehensweise ===== ******/ 
- 
-==== Firefox ==== 
- 
-=== Firefox per SSH auf einem anderen Rechner ausführen und die Ausgabe umleiten === 
- 
-== Die Konstellation == 
- 
-Lokales Netzwerk mit 3 Rechnern mit Linux als Betriebssystem. Der Einfachheit halber nenne ich sie hier Rechner A, B und C. 
- 
-An Rechner A habe ich zwei Monitore angeschlossen, das ist mein Hauptrechner, an dem hängen auch Trackball und Tastatur. Da ich ab und zu mehr Rechenleistung und RAM benötige, sind die Rechner B und C per Gigabit- Netzwerk angeschlossen. B und C agieren auch als Server. 
- 
-Der Zugriff auf B und C erfolgt über **ssh -X**, dadurch werden die Ausgaben von grafischen Programmen auf den X-Server von Rechner A umgeleitet.\\  
-Dadurch habe ich alle Fenster der laufenden Programme der Rechner A, B und C auf einem Monitor((ok, in meinem Fall zwei ;-) )) und kann mit den Programmen hantieren, wie wenn sie auf einem Rechner laufen würden. Sehr angenehm. :-) 
- 
-== Das Problem == 
- 
-Das hat alles funktioniert, nur beim Firefox hatte ich ein seltsames Phänomen: 
- 
-Auf Rechner A läuft Firefox, ich verbinde mich per **ssh -X** zu Rechner B und gebe dann **firefox** ein, um den Browser zu starten. Alles klar, Fenster geht auf, aber ich werde stutzig: da sind die selben Plugins geladen, die ich auf Rechner A installiert habe, auf Rechner B jedoch //nicht//!. Oha.\\  
-Also versuche ich, eine IPv6- Adresse aufzurufen. Da nur Rechner A eine IPv6- Verbindung ins Internet hat, müßte eine Fehlermeldung kommen, wenn ich z.B. http://ipv6.google.com((nur per IPv6 erreichbar!)) aufrufe. Nix Fehler, die Seite wird geladen. Da stimmt was nicht! Definitiv! 
- 
-Also hab ich auf Rechner B mal **ps ax | grep firefox** aufgerufen - Überraschung! Auf Rechner B läuft //kein// Firefox. Der Prozess wurde einfach an den laufenden Prozess von Rechner A "angedockt". 
- 
-So war das ja nicht gedacht. Nach einigen fehlgeschlagenen Versuchen, bekam ich ihm Chat bei einer Diskussion um etwas anderes die 
- 
-== Lösung == 
- 
-Wenn ich den Firefox auf Rechner B mit **firefox -no-remote** starte, bleibt der Prozess da, wo ich ihn haben will: auf Rechner B. 
-  
-Das sieht dann so aus: 
- 
-{{http://florian-gross.de/gallery/albums/userpics/10001/dualscreen_firefox.png}} 
- 
-Links die Firefox- Instanz von Rechner A, rechts die von Rechner B. 
- 
-===== Mir bekannte Fehlerquellen ===== 
- 
-==== Scripte ==== 
- 
-=== Scripte aus der Mailanzeige von KMail herauskopieren === 
- 
-Ich habe das Script [[scripte#alle_archive_der_opensuse-de_mailingliste_als_.gz_herunterladen|download.sh]] gemailt bekommen. 
-Das habe ich per Copy&Paste aus KMail in einen Editor kopiert, in ~/bin abgespeichert und mit [[tools#chmod|chmod +x]] ausführbar gemacht. 
- 
-== Das Problem == 
- 
-Beim Ausführen erhielt ich folgenden Fehler: 
- 
-<code>florian@florian:~/bin> ./download_test.sh 
-./download_test.sh: line 7: syntax error near unexpected token `do' 
-./download_test.sh: line 7: `  for m in $(seq 1 12); do'</code> 
- 
-Beim Absender geht es, bei mir nicht. Rätselraten. Probieren. 
- 
-== Die Ursache == 
- 
-Das Script enthält zwei oder mehr aufeinander folgende Leerzeichen. 
-Das ist eigentlich kein Problem. 
- 
-Wenn ich mir das Script jedoch mit [[tools#mcedit|mcedit]] angesehen habe, wurde für jedes zweite der aufeinander folgenden Leerzeichen statt 0x20 das Zeichen 0xA0 aus der Zeichentabelle verwendet. Die sehen beide gleich aus, sind auch beides Leerzeichen. 
- 
-Mit dem mcedit sieht das richtig codierte Leerzeichen so aus (rote Umrandung): 
-{{ http://florian-gross.de/gallery/albums/userpics/10001/mcedit1.png }} 
- 
-Das "falsch" codierte Leerzeichen sieht im mcedit dagegen so aus (rote Umrandung): 
-{{ http://florian-gross.de/gallery/albums/userpics/10001/mcedit2.png }} 
- 
- 
-**ABER:** 0x20 wird auch von der Shell als Leerzeichen erkannt und beim Ausführen ignoriert, 0xA0 wird aber versucht mit auszuführen. 
- 
-In meinem Fall wollte die Shell also nicht <code>«for m in $(seq 1 12); do»</code> sondern <code>« for m in $(seq 1 12); do»</code> ausführen. 
-Beachte das Leerzeichen nach dem «! Das ist das 0xA0. 
-Und da « for» kein Befehl ist, sondern nur «for», kommt für die Shell anstelle von <code>for .. ; do irgendwas; for .. ; do irgendwas;</code> ein <code>for .. ; do irgendwas; do irgendwas;</code> heraus. 
- 
-== Die Lösung == 
- 
-  * Entweder im Script die problematischen Leerzeichen von Hand durch die "richtigen" Leerzeichen ersetzen (aufwendig!) 
- 
-oder 
- 
-  * Die email abspeichern und dann mit einem Texteditor alles außer dem Script entfernen. 
- 
-== Anmerkung == 
- 
-Dieses Problem besteht auch mit einzelnen Befehlszeilen, wenn der Absender z.B. zwischen Befehl und Option(en) aus Versehen zwei Leerzeichen gemacht hat. 
-In diesem Fall einfach das überflüssige Leerzeichen entfernen. 
- 
-Die Shell selber stört sich selber nicht an zwei oder mehreren Leerzeichen: 
-<code> 
-florian@florian:~/bin> head ../Homepage/bytecamp/grossing.de/index.php 
-<?php 
-header("Location: home.php"); 
-exit(); 
-?> 
-florian@florian:~/bin> head          ../Homepage/bytecamp/grossing.de/index.php 
-<?php 
-header("Location: home.php"); 
-exit(); 
-?> 
-</code> 
- 
-Du möchtest selber ein wenig damit herumspielen? Du kannst dir das Script mit den problematischen Leerzeichen [[http://download.grossing.de/script/download-script_mit_falschen_leerzeichen.sh|herunterladen]] 
- 
-\\ 
- 
----- 
-Du hast ein Script oder eine Konfigurationsdatei, die du gerne anderen hier zur Verfügung stellen möchtest? 
-Bitte mit den Kommentaren und eventuell einer Kurzbeschreibung (zum besseren Verständnis) [[linuxwiki@florian-gross.de|mailen]]. Danke! 
- --- //[[florian@grossing.de|Florian Groß]]// 

Eigene Werkzeuge