Deutsches Lilypond Forum (Archiv)
Betriebssystemabhängig => Mac OS X => Thema gestartet von: derHindemith am Donnerstag, 21. Mai 2009, 18:50
-
Weiter mit dem convert-ly thread...
Ich habe endlich nano mit voll utf-8 Unterstützung. Um das zu tun ist ein bisschen Arbeit.
nano Unterstützt utf-8, wir brauchen nur der neueste Version. Und.
Um nano mit utf-8 zu kompilieren brauchen wir ncurses mit utf-8 unterstützung. Und.
Um ncurses und nano zu kompilieren brauchen wir Apple's Developer Tools. (Diese Kette nennt man dependencies (abhängige). Dass die Lösung nur 2 dependencies hat is eigentlich ganz gut.
Erstmals, Developer Tools. Sie sind auf dem Installations DVD, oder runterladbar unter https://connect.apple.com/cgi-bin/WebObjects/MemberSite.woa/wa/getSoftware?bundleID=19907
Zweitens, ncurses. Findet man unter ftp://ftp.gnu.org/gnu/ncurses/ncurses-5.7.tar.gz
Drittens nano. Findent man unter http://www.nano-editor.org/dist/v2.1/nano-2.1.9.tar.gz
Installieren von ncurses und nano sind ähnlich. Erstmals doppelklicken um zu entpacken.
Im terminal zu den ncurses Ordner gehen. Am einfachsten, tippe "cd " (ohne Klammer, aber mit Leerzeichen) in terminal und dann die ncurses Ordner einfach auf dem Terminal Fenster schieben.
Dann eingeben: ./configure --with-shared --enable-widec && sudo make && sudo make install
Es dauert, du kannst etwas anderes tun. http://xkcd.com/303/
Nachdem dass alle fertig ist, es wird nach einem Administrator Passwort fragen, wird ncurses mit utf-8 installiert.
Dann zu nano. Dasselbe mit dem cd und Ordner schieben. Und dann um nano zu kompilieren, ist es:
./configure --enable-utf8 && sudo make install && sudo make
Danach ist nano komplett uft-8 fähig und bereit.
-
hallo James,
wie interessant, wieder etwas von Deinen Aktivitäten zu lesen! Ich habe mich lange aus den verschiedensten Gründen nicht mehr mit Lilypond befaßt, werde das aber bald wieder tun. Das Leben und die Arbeit (der Broterwerb also) bringen einen manchmal einfach weit davon ab. Außerdem bin ich gerade dabei, meine nicht gerade kleine Notenbibliothek zu katalogisieren. Das frißt auch ordentlich Zeit...
Heute habe ich zufällig nach Monaten mal wieder im Forum vorbeigeschaut, unter anderem, um mir den convert-ly-Thread herunterzuladen und auszudrucken, damit ich auch mal ohn‚e Rechner darin lesen kann.
Ich werde Deine Bastelarbeit auf jeden Fall auch einmal nachvollziehen, denn mit utf-8 ist nano natürlich endlich auch für Deutsche leichter zu handhaben. Die Apple Developer Tools habe ich schon auf meinem Rechner, da ich ein Programm ins Deutsche übertragen habe. Da habe ich sie auch gebraucht.
Ich werde mich wieder melden, wenn ich mein nano hoffentlich erfolgreich aufgerüstet habe. Ach, eine Frage habe ich aber doch noch: mit der von Dir beschriebenen Aktion kommt doch ein zweites nano auf meinen Rechner, der ja schon eines drauf hat. Kann der die beiden denn auseinanderhalten oder wird das vorhandene nano nur modifiziert? Vielleicht eine dumme Frage, aber ich stelle sie doch lieber...
herzlichen Gruß
-
Diese Anleitung überschreibt den alten nano. Es kann zu einem anderen Ordner installieren werden, oder mit anderem Namen, aber da die vorhandene version von nano so veraltet, einfach wieder installiert, und von nichts anderes benutzt ist, sehe ich kein Grund es zu behalten. (Allerdings, obwohl ich dass sage, aus anderen Gründe habe ich immer noch die von Apple veraltete version immer noch auf meinem Computer.)
Und, seitdem ich diese Anleitung geschrieben habe, ist noch ein aktueller version von nano veröffentlicht. Es ist nicht wichtig, die bearbeiten immer noch die undo funktionen. (es funktioniert immer noch nicht).
Hoffentlich klappt alles.
-
Übrigens, ich habe heute mein .nanorc bisschen verbessert. Zeil 146 bei mir ist jetzt
color white,red "(\_|\-|\^)(\^|\+|\-|\||>|\.|\_|[0-9])"
Färbt auch fingering.
-
hallo James,
nach langer Zeit schaue ich mal wieder hier herein. Ich habe wieder Zeit für LilyPond-Arbeit und finde Deine Anleitung sehr interessant. Eigentlich habe ich mir eine sehr gut funktionierende Arbeitsumgebung mit TexShop geschaffen. Bei einem größeren Projekt, das ich jetzt schreiben mußte, hat das wunderbar funktioniert.
Dennoch habe ich Lust, auch das, was Du geschaffen hast, einmal auszuprobieren, denn nano ist sehr einfach zu bedienen und absolut ausreichend bis auf die UTF-8-Unterstützung. Und Deine getunte Version mit Syntax Highlighting ist sehr übersichtlich.
Ich habe sie ja nun auch auf meinem Rechner, und es sieht sehr übersichtlich aus. Gerade bei großen Projekten hilft das sehr, den Überblick zu behalten.
Morgen werde ich mein nano einmal nach Deiner Anleitung aktualisieren und mein altes nano irgendwoanders hin verschieben. Die Developer Tools habe ich schon installiert, da ich sie einmal gebraucht habe, um ein Utility namens FinderPop (äußerst praktisch) auf Deutsch zu lokalisieren.
Auf das Ergebnis bin ich jedenfalls sehr gespannt, was nano betrifft. Mein nächstes Projekt werde ich einmal mit nano schreiben.
Aber sage mir doch bitte: wo finde ich denn nano auf dem Rechner? Ist es in /usr/bin? Das ergab jedenfalls eine Suche im Terminal. Spotlight lieferte keine Ergebnisse. Und wie bewege ich es in ein anderes Verzeichnis? Ich meine mit welchem Befehl? ist es "mv"?
-
Klingt toll!
'which nano' zeigt genau wo der System nano findet. /usr/bin/nano ist die gewöhnliche. Die einfachste art es woanders zu schieben ist einfach umbenennen. 'open /usr/bin' sollte die Ordner öffnen, damit du es umbennen willst. Wenn du im Terminal umbennen willst, dann ist mv die richtige. 'sudo mv /usr/bin/nano /usr/bin/nano_alt' sollte (dann passwort eingeben) reicht es zu umbennen. (Die sudo da ist wichtig weil kein Benutzer kann Änderungen an /usr/bin/ machen.)
-
hallo James,
es ist vollbracht: das alte nano ist umbenannt und ich habe auch noch eine Kopie davon in meinem Benutzerverzeichnis angelegt.
ncurses 5.7 und nano 2.1.9 sind sind auf dem Rechner installiert.
Es gab jedoch eine kleine Überraschung: nach der Installation (genau mit den Befehlen, die Du unten hineingeschrieben hattest): nano 2.1.9 befand sich nicht in /usr/bin, sondern in usr/local/bin. Ich habe es dann nach /usr/bin verschoben. Dann gab es auch keine Fehlermeldung mehr beim Start von nano, aber jetzt habe ich noch ein Problem: ich kann keine neuen Dokumente anlegen, weil mir die Schreibrechte verweigert werden.
Ich kann alle meine alten Dokumente öffnen, aber wenn ich ein neues Dokument sichern will, kommt immer: Permission denied. Kann ich das ändern?
Ach, sorry, ich habe die Lösung schon: ich hatte vergessen, aus /usr/bin in mein Benutzerverzeichnis zu wechseln. Jetzt kann ich auch etwas schreiben.
Trotzdem noch eine Frage: Umlaute und " ß = ß" kann ich in UTF-8 aber auch nicht schreiben oder doch? Ich habe es in nano versucht, bekomme sie aber nicht. Ich habe mir mal eine UTF-8-Tabelle angesehen, und dort standen deutsche Umlaute drin. Gibt es also eine Eingabemethode, die Umlaute erzeugt? Aber wie?
-
Na, dann ist Terminal vermutlich das Problem. Terminal 1.5 ist einfach blöd, dumm. Im "Get Info" Fenster (⌘-i). Ach, es einfacher Bilder hochzuladen.
(http://www.freeimagehosting.net/uploads/82dd858488.jpg) (http://www.freeimagehosting.net/)
(http://www.freeimagehosting.net/uploads/a6da794ddd.jpg) (http://www.freeimagehosting.net/)
Diese letzte ist ganz wichtig. Die Wahltaste ist ganz oft in nano für verschiedene Funktionen benutzt (zum Anfang oder Ende eines Dokuments zu springen, Einrücken, zum passenden Klammer zu springen…). Wenn du ein deutsches Tastatur benutzt schläge ich vor, genau wie ich es habe, Walhtaste als Meta verwenden. Leider können Zeichen wie “, ”, ‘, und ’ (nicht " und ') nicht so einfach eingetippt werden, da die brauchen Wahltaste als Wahltaste (und nicht meta), für solche Dinge, schalte ich dass einfach aus und dann wieder ein.
(http://www.freeimagehosting.net/uploads/db23b3e389.jpg) (http://www.freeimagehosting.net/)
Hoffentlich dass hilft.
James
-
ich danke Dir für Deine Mühe. Ein Bild sagt mehr als tausend Worte...
ich habe alles umgestellt, aber nur einen Teilerfolg erzielt. Ich bekomme jetzt folgendes Ergebnis, wenn ich tippe: "Ä ä Ö ö Ü ü ß":
?^? ä ?^? ö ?^? ü ?^?
Kannst Du etwas damit anfangen? Hinter dem kleinen Umlaut wird außerdem immer ein Leerschritt gesetzt, aber nicht hinter dem großen. Öffne ich dieselbe Zeichenfolge, nachdem ich sie als Datei gespeichert habe, z.B. in TextEdit, sieht das Ergebnis so aus:
Ä ä Ö ö Ü ü ß
Interessant, nicht? Ich habe aber leider keine Ahnung, was sich daraus lernen läßt...
-
ich habe noch einen Nachtrag: ich bekomme meine Umlaute im Terminal tadellos dargestellt, wenn ich im Terminal-Infofenster die Kodierung auf Westeuropäisch Latin1 setze. Ohne alle Leerzeichen, groß und klein, und auch das "ß" ist da.
Öffne ich das dann aber in TextEdit, gibt es dort einen anderen Zeichensalat:
ˆ‰¸fl÷ƒ‹fl?
anstelle von "äöüß".
Was geht da vor?
Und eigentlich brauchen wir für die Arbeit mit LilyPond eben UTF-8, denn das ist nun einmal die Voraussetzung für einwandfreie Funktion...
-
oder kann es sein, daß bei meiner Installation etwas schiefgegangen ist? Immerhin sollte nano danach doch UTF-8-fähig sein. Scheinbar ist es das aber auch nicht. Ich habe Deine Befehle weisungsgemäß nach bestem Wissen und Gewissen eingesetzt, also aus Deinem Beitrag kopiert und im Terminal eingesetzt.
Könnte das auch eine Fehlerquelle sein? Ich hatte ja nano zunächst auch in einem Ordner liegen, in dem Terminal.app es nicht fand, denn es scheint in /usr/bin zu suchen.
-
Für einen ä braucht die UTF-8 Codierung zwei kurze Zahlen (Bytes):
C3 und A4 (in hexadezimal Darstellung) wie es in dieser Liste (http://www.utf8-zeichentabelle.de/) steht.
Liest ein MAC-Programm dieses Codierungsergebnis als zwei getrennte Zahlen
(weil es nicht gerade bzw. nie im UTF-8 Modus arbeitet)
nimmt es an, es handelt sich um die (byteweise) Codierung von zwei getrennte Zeichen;
wie sie in dieser MAC-Liste (http://academic.evergreen.edu/projects/biophysics/technotes/program/ascii_ext-mac.htm) stehen. (PC hat eine andere Liste.)
Dieses Wurzelzeichen entspricht der C3, dem ersten UTF-8 Byte. Usw. ...
Gruss
-
würde das in der Praxis bedeuten, daß ich statt des Umlautes immer "C3 A4" statt des betreffenden Umlautes eingeben müßte, um nano auf die Sprünge zu helfen?
Dieser Aspekt von Editoren ist mir noch völlig ungeläufig. Und in welcher Form muß ich das dann schreiben, denn es könnte ja theoretisch sein, daß ich wortwörtlich "C3 A4" meine. nano muß das ja auseinanderhalten können.
Eine .ly Datei, die ich mit TeXShop in UTF-8 gesichert habe, wird, wenn ich sie in nano 2.1.9 öffne, nicht korrekt dargestellt, was die Umlaute betrifft. In TeXShop ist das der Fall. Umlaute kommen zwar in einem Dokument dieser Art nur selten vor wie z.B. in Titeln, wo man schon einmal "für" braucht.
Sonst kann man sich ja mit den international üblichen Ersatzlösungen behelfen...
Kompliziert wird es nur, wenn es Anmerkungen zum Stück auf Deutsch gibt...
-
MAC ist mir völlig unbekannt; da kann ich nicht helfen.
Ich habe aber lange ohne UTF-8 gearbeitet, einfachheitshalber.
Ich musste nur selten, eben gelegentlich im Titel, solche Dinger eingeben.
Ich habe die wenige Codierungen in einer Textdatei abgelegt;
wäre z.B. für MAC:
ä √§
ö √∂
... ... und dann jeweils das Zeichenpaar rüberkopiert.
Das geht gut, aber mit viel Liedtext verleidet's einem schnell.
Gruss
-
Leider liegt das Problem bei dem Terminal, nicht nano. Aber, zum test, kannst du ein normales ä oder ö einfach in ein terminal fenster eintippen? Wenn das geht, dann liegt das Problem bei nano. Zum testen, kannst du ein Dokument mit irgendwelche øí ë õ in TextEdit machen, und dann in nano öffnen. Wenn die da nicht angezeigt sind, dann liegt das Problem bei nano, und dann würde ich vorschlagen nano einfach neu installieren, vielleicht von MacPorts, und nicht vom source.
-
ja, so könnte man es auch machen. Solange man nicht viel Text hat, ist es eigentlich kein Problem.
Mein Punkt ist eigentlich der: ich habe mir, da die originale LilyPond-Umgebung mit dem Editor sehr spartanisch ist, andere Lösungen angesehen. Das waren nano (auf Anregung von James, der sich da eine originelle und hervorragend funktionierende Sache gebastelt hat - Hut ab!), TeXShop und jEdit mit LilypondTool angesehen, die alle auf ihre Weise eine Verbesserung in Komfort, Übersichtlichkeit und Effektivität vor allem bei großen Projekten sind.
Ich habe jetzt ein solches (eine Orchesterpartitur) mit TeXShop geschrieben und war damit schon ganz glücklich. Ich würde aber auch gerne für ein anderes, ähnliches Vorhaben einmal nano "probefahren". Und da wäre natürlich die UTF-Unterstützung das Sahnehäubchen. James hat mir ja hier ein nano mit UTF-Unterstützung angekündigt, aber die will sich bei mir zumindest immer noch nicht einstellen, warum auch immer. jEdit und TeXShop sind beide völlig problemlos damit.
Vielleicht ist bei meiner nano-Aktualisierung irgendetwas schiefgegangen oder das Terminal spinnt. Ich habe die Darstellung im Fenster auf UTF-8 eingestellt, aber die Sache funktioniert bestenfalls teilweise.
Ändere ich in nano eine Datei und speichere sie so, öffne sie danach aber mit TeXShop, kriege ich die Fehlermeldung, daß die Datei in MacOSRoman Encoding gesichert worden sei und deswegen nicht in UTF-8 geöffnet werden könne. Die enthaltenen Umlaute werden dann nicht als Umlaute dargestellt. Dabei war Terminal.app auf UTF-8 eingestellt!
Wenn ich dann in TeXShop die Umlaute wieder restauriere und das Dokument so speichere, ist für TeXShop die Welt wieder in Ordnung.
Sollte auch James keine Idee mehr haben, wie man der Sache beikommt, werde ich mir ein textarmes Projekt für nano aussuchen und die paar Umlaute eben so wie vorgeschlagen einfügen. Aber dummerweise haben die Deutschen halt Flöten, Hörner und ähnliches, und die Stücke sind geschrieben für irgendetwas...
Und mein Name ist leider auch umlauthaltig – Pech gehabt...
-
Hat's nicht geklappt? Was waren die Ergebnisse?
-
ich habe eine kleine Versuchsreihe gestartet mit folgendem Ergebnis:
Eingabe in nano:
Hö rner haben keine Bü nde, wie ü brigens alle Instrumente, die von Blä sern gespielt werden. Der Kontraba?^? hatte zumindest frü her
mal
welche.
Anmerkung: Das Obenstehende ist im Terminalfenster zu sehen nach der Eingabe. Nach Einfügen aus der Zwischenablage hierhin erscheint aber: Hörner haben keine Bünde, wie übrigens alle Instrumente, die von Bläsern gespielt werden. Der Kontrabaß hatte zumindest früher mal
welche.
Öffne ich die Datei nach Beenden von nano wieder in nano, so wird der Text korrekt dargestellt. Gebe ich ihn aber erneut von Hand ein, kommt wieder das erste Ergebnis heraus. Sehr merkwürdig! :-\
öffnen in Smultron; es erscheint: Hörner haben keine Bünde, wie übrigens alle Instrumente, die von Bläsern gespielt werden. Der Kontrabaß hatte zumindest früher mal
welche.
Öffnen in TextEdit: H√∂rner haben keine B√ºnde, wie √ºbrigens alle Instrumente, die von Bl√§sern gespielt werden. Der Kontraba√ü hatte zumindest fr√ºher mal
welche.
Öffnen in TeXShop: Hörner haben keine Bünde, wie übrigens alle Instrumente, die von Bläsern gespielt werden. Der Kontrabaß hatte zumindest früher mal
welche.
Was kann man dazu sagen??
-
Sieht aus als ob nano kein utf-8 speichert. Wenn du im Terminal 'nano --version' eingibst, kommt auch --enable-utf8 als eine die installierte optionen?
-
das ist die Antwort, die nano mir gibt:
nano --version
GNU nano version 2.1.9 (compiled 10:10:34, Oct 10 2009)
(C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
Email: nano@nano-editor.org Web: http://www.nano-editor.org/
Compiled options: --disable-nls --enable-color --enable-extra --enable-multibuffer --enable-nanorc --enable-utf8
-
Ich habe gefürchtet dass du sowas sagst. Es ist ein Alptraum sowas hinzukriegen. Ich weiss, ich habe genau das gleiche Problem gehabt (mit noch eine, ich benutze zusätzlich screen). Und ich habe so viel gemacht und getan damit dass alle funktioniert. (Und ehrlich gesagt, das ganze wäre viel einfacher in 10.5.)
Also, in meine ~/.bashrc habe ich folgendes
LC_CTYPE=en_US.UTF-8
export LC_CTYPE
vielleicht klärt dass die Sache.
Ich suche weiter für andere Dinge die ich gemacht habe.
-
die Datei gibt es bei mir gar nicht. Eine entsprechende Anfrage wurde so beantwortet:
which .bashrc
no .bashrc in /bin /sbin /usr/bin /usr/sbin /usr/local/bin /usr/texbin /Users/ich/bin
Arbeitest Du noch mit "Tiger" oder bist Du schon auf 10.5? Mein 10.4 läuft so gut, daß ich kein Bedürfnis habe, es aufzugeben, solange Apple es noch pflegt. Und danach wird es wohl eher "Snow Leopard", aber dann mit Intel Mac...
-
Wo hast du $PATH eingerichtet? Da es nicht ausführbar ist, wird which es nicht finden. Aber, ~/.bashrc, ~/.bash_profile, und ~/.profile sind alle gleichwert, nur dass eininge Programme brauchen ein, und andere Programme brauchen ein andere. Du kannst dass in der gleichen Datei wie PATH definieren.
-
Da haben wir den Salat! Ich habe im Terminal gesucht und keine einzige dieser Dateien mit which finden können! Dieser Befehl sucht offenbar standardmäßig eine Reihe von Ordnern ab, aber das kennst Du ja...
Mir fiel ein, daß wir im Thread convert-ly auch schon einmal über PATH gesprochen haben. Ich hatte seinerzeit auf Deine Anweisung hin eine Datei ".profile" mit dem Inhalt "export PATH=$PATH:~/bin" angelegt. Auch der Ordner /bin ist selbstverständlich noch vorhanden mit den Dateien " convert-ly" und "lilypond", die beide (wie Du mich damals angewiesen hattest), ausführbar sind und den Pfad zu lilypond und zu convert-ly enthalten.
Ich muß zu meiner Schande gestehen, daß ich immer noch nicht kapiert habe, was PATH in Großbuchstaben eigentlich bedeuten soll. Der Pfad zu was eigentlich? Ich brauche hier wirklich noch Nachhilfe...
Und: warum muß ich $PATH definieren? Handelt es sich hier um eine Information für irgendein Programm, die benötigt wird, um etwas ausführen zu können, wie ich vermute? Was sucht nano und findet es nicht um UTF-8-fähig zu werden?
-
Erstens, eine Erklärung über PATH (http://de.wikipedia.org/wiki/Umgebungsvariable).
Also, die Lokalisierung (LC) kannst du in der .profile angeben, und dann können wir sehen ob das nano darauf hinweist dass es utf8 benutzen soll (anstatt MacRoman).
-
dann schreibe ich also einfach noch etwas in der Art wie
LC_CTYPE=de.UTF-8
export LC_CTYPE
in mein ~/.profile hinein?
-
gibt es eigentlich eine Erklärung dafür, daß Dateien wie ~/.bashrc bei mir nicht vorhanden sind? Muß man die eigens zu einem bestimmten Zweck anlegen oder werden die automatisch erstellt?
Ich kenne solche Vorgänge von anderen Programmen, die bei jedem Start bestimmte Dateien neu anlegen, auch wenn sie nicht vorhanden sind. Gelegentlich muß man diese löschen, wenn das Programm Probleme macht. Dann werden sie beim nächsten Start wieder angelegt und alles ist wieder in Ordnung.
-
Lieber James, du hast mal wieder den richtigen Riecher gehabt! Ich habe einfach mal in ~/.profile hinzugefügt (wenn es nichts gebracht hätte, hätte ich es ja wieder entfernen können):
LC_CTYPE=de_DE.UTF-8
export LC_CTYPE
Dann habe ich Terminal.app beendet und wieder angeworfen. Und eine LilyPond-Datei geöffnet, deren Titel Umlaute enthält. Und, o Wunder, alles wurde richtig dargestellt! Dann habe ich wieder eine obligatorische Testdatei mit einem kleinen Text voller Umlaute und "ß" angelegt, und auch dort lief alles glatt bei der Eingabe. Keine merkwürdigen Leerzeichen, Fragezeichen eingerahmt von "^" und dergleichen. Beim Öffnen der Datei das gleiche Bild!
Das Problem kann also als gelöst angesehen werden.
Diese Computer sind doch einfach strohdumm! Wenn man ihnen nicht alles haarklein erklärt, verstehen sie die einfachsten Sachen nicht ;)
Wäre Dir aber trotzdem sehr dankbar, wenn Du mir noch die andere Frage unten beantworten könntest.
Du hast Dir wieder einmal einen Orden verdient, wenn schon nichts anderes ;)
Nun steht einem ausführlichen Probelauf von nano à la James nicht mehr das Geringste im Wege...
-
Es gibt viele Dateien die den Betriebssystem benutzen kann, alle sind nicht angelegt. .bashrc, .profile, .XDefaults, .emacs, alles ändert wie der System reagiert. Die müssen vom User angelegt, sonst, weil der Computer so dumm ist, weißt er nicht was du willst. Und, es gibt meistens ein globaler Version (häufig in /private/etc/), und lokaler version (häufig in ~/). Aber die können irgendwoanders stecken mit Anweisungen in einer anderen Datei wo die benötigte Datei ist.
.bashrc, .bash_profile, und .profile sind im allgemein gleich, einfach dass jede Programm sucht nicht nach nötige Informationen in jede Datei. Ich habe bei mir ~/.bashrc, weil die grossteil von meiner Programmen sucht da, screen aber nicht. screen sucht nur in .bash_profile (also, ich habe in mein .bash_profile dass die sollte in .bashrc suchen).
-
ich habe mal in /private/etc nachgeschaut, und da gibt es bei mir in der Tat eine Datei "bashrc", die nicht einmal unsichtbar ist ebenso wie "nanorc".
Ist es also so, daß man bei gewissen Sonderwünschen per selbst angelegter Datei dem Rechner sagen muß, was man braucht, wenn es von der globalen Anweisung abweicht?
Und wie kann ich eigentlich das ganze Unix-Dateisystem erkunden? Ich habe den Eindruck, daß überall immer wieder neue Ordner auftauchen, die ich mit "ls -a" nicht gezeigt bekomme? Gibt es noch einen anderen Befehl, der umfassender ist?
-
Freut mich dass es endlich für dich geklappt hat. Ich benutze nichts anderes als nano für meine LilyPond Dateien.
Zwei Dinge:Wie gesagt, ich benutze auch screen, es mach mehrere Terminal-Fenster in einem Fenster. Da habe ich nano in einem, bash in einem anderen, und tail und noch einem. bash benutze ich für die "lilypond choral.ly 2> ~/.err.txt" die ich tausendmal eingeben muss (falls du es nicht weisst, die hoch Pfeile scrollt durch die eingegebene kommandos in bash), und tail zeigt immer die letze Zeilen einer Datei. ich benutze eigent tail -f ~/.err.txt, damit es dauernd aktualisiert. Die 2> ~/.err.txt schreibt alle die Fehlermeldungen von LilyPond in einer Datei, ~/.err.txt. Am Ende habe ich ein Fenster wo nur die Fehlermeldungen auftauchen, ein Fenster nur für die LilyPond kommando, und ein Fenster für nano. Und alles in einem Fenster. Für mich funktionierts so gut, ich kann nichts anderes benutzen. point-and-click ist das einzige das fehlt. Vielleicht sollte dies alle in einer Anleitung zusammenfassen, und zu der Liste schicken.
-
das freut mich auch. Es ist doch ein angenehmes Gefühl, das sich immer wieder einstellt, wenn ein Problem zu den Akten gelegt werden kann...
Aber dann geht die Sache ja noch weiter, denn ich sehe, daß Deine Arbeitsumgebung noch ausgefeilter ist. Ich habe mir mal screen heruntergeladen. Die Idee, so wenige Fenster wie nur möglich zu haben, ist wichtig für flüssiges Arbeiten. Oder jedenfalls müssen Zumindest alle Fenster innerhalb eines Programms vorhanden sein. Das ist gut an TeXShop, weil da der PDF-Viewer mit eingebaut ist und auch an jEdit mit LilyPondTool. Leider werden die PDFs nicht aktualisiert, wenn ich was am Code ändere. Eine neue Ansicht zu erzeugen dauert bei einer größeren Partitur ziemlich lange leider.
Dafür ist Skim wieder toll, das ich immer mit LilyPond benutzt habe; das kann man nämlich so einstellen, daß die Ansicht sofort aktualisiert wird.
Was mache ich also jetzt mit screen? Ich habe screen 4.0.3 entpackt. Was muß ich nun machen? Und welche Probleme sind zu erwarten, die Du offenbar schon gelöst hast.
Ich glaube, es wäre tatsächlich eine gute Idee, für alle Interessierten eine Anleitung für Deine Arbeitsumgebung zu haben, denn mir scheint, daß sie erstens funktioniert und zweitens auch zweckmäßig ist. Wenn man die Logik dahinter erst einmal verstanden hat, dann kann man sie vermutlich auch relativ leicht eigenen Bedürfnissen anpassen, denn natürlich macht jeder etwas anderes mit LilyPond.
-
screen ist schon installiert. Meine ~/.screenrc ist hier (http://www.scribd.com/doc/20907111/screenrc). Das einzige was wichtig ist, screen braucht ~/.bash_profile. Du kannst einfach die Datei anlegen (mit nano, natürlich) mit dem Inhalt:
. ~/.profile
Das sollte klappen.
Du kannst auch mein Anfang zu einer Anleitung schon lesen http://sites.google.com/site/nanoforlilypond/ (http://sites.google.com/site/nanoforlilypond/)
-
tatsächlich! Ich habe Version 4.00.03 auf dem Rechner. Kann ich ".screenrc" (falls sie noch nicht vorhanden sein sollte; das schaue ich morgen nach) in meinem Benutzerverzeichnis anlegen und auch ".bash_profile"? Oder sollten sie besser in /usr/bin liegen wie auch screen?
Wie man screen dann verwendet, kann ich mir auf der GNU-Seite ansehen. Bin gespannt auf die Auswirkung im Terminal und hoffe, daß es keine weiteren Schwierigkeiten geben wird.
Andererseits weiß ich jemanden, der schon einige Schwierigkeiten vor mir gemeistert hat und den ich um Rat fragen kann ;)
-
ich war mutig und habe alles einmal nach Deinen Vorschlägen angelegt, ohne eine Antwort abzuwarten (in meinem Benutzerverzeichnis) mit ~/.screenrc. und ~/-bash_profile und habe nach kurzer Lektüre der Grundbegriffe und dem Herunterladen des Handbuches von screen eine "Probefahrt" unternommen.
Alles scheint zu gehen mit den Fenstern, zwischen denen ich hin- und hernavigieren kann. UTF-8 funktioniert weiterhin tadellos.
Was man so im Untergrund alles auf seinem Rechner hat, ohne die geringste Ahnung davon zu haben! Dieser Unix-Unterbau ist richtig spannend. Schade, daß man mit dem ganzen Überbau schon so beschäftigt ist...
Nun denn: gute Nacht und bis bald und ganz herzlichen Dank wie immer. Ich freue mich auf das nächste Projekt mit nano!
Ach, übrigens vielen Dank für die nanoforlilypond-Seite! Ich habe sie schon eingehend studiert, werde das alles auch nachzubauen versuchen und hoffe, daß das klappt. Im Moment habe ich screen nur in einem einzigen Fenster von immer der gleichen Größe laufen. Ich muß immer mit Ctrl-a a hin-und herschalten, um in ein Fenster anderen Inhalts zu kommen, aber das ist ja nur der Anfang...
Ich melde mich wieder, wenn ich wieder Zeit habe, die Sache für LilyPond endgültig nach Deinen Vorgaben einzurichten.
-
da bin ich schon wieder. Ich konnte es nicht lassen zu versuchen, Deine nano for lilypond Konfiguration im Terminal nachzubauen. Zunächst habe ich einmal das Terminal so konfiguriert, daß es gleich mit screen startet.
Dabei kommen mir noch ein paar Fragen:
- Hat screen bei Dir mehrere Fenster unterschiedlicher Größe auf dem Desktop erzeugt? Wie geht denn das? Oder sind das jeweils einfach neue Terminal-Fenster, bei denen eine unterschiedliche Größe eingestellt worden ist und die auch so gesichert wurden?
- kann man die alle zusammen starten beim Aufruf von Terminal.app?
- kann ich einem screen-Fenster unterschiedliche Größen zuweisen und wenn ja: wie? Du scheinst das ja offenbar hinbekommen zu haben...
- Müssen die Fenster zwingend so genannt werden wie Du es gemacht hast? Oder können sie auch andere Namen haben, wenn ich das in ~/.screenrc entsprechend ändere?
-
Offentsichtlich sind die verschiedene Fenster grössen ablenkend. Es ist eigentlich nur ein Fenster. Ich habe die größe geändert für die Bilder. screen erzeugt kein Fenster, sondern emuliert mehrere Fenster in einem.
-
dann ist es also doch nicht anders als bei mir. Es hat mich ein wenig verwirrt. Dachte, es gebe noch einen Trick, den ich übersehen habe...
Aber die Fenster "tail" und "error" müssen exakt so heißen wie in der Anweisung, das habe ich doch richtig verstanden, oder? Bei anderen Namen müßte ich die ~/.screenrc ändern, nicht wahr?
-
Du kannst alle Namen ändern wie du willst. Ich habe es so gemacht, damit ich sehen kann was in welchem Fenster ist, und einfach zwischen den alle wechseln.
-
nur zur Sicherheit: an ~/.screenrc muß ich nichts ändern? Ansonsten würde ich auch ein ähnliches Verfahren anwenden wie Du.
-
Wen es genau mein von scribd ist, müssen müßt du nicht. Können schon. Aber, wenn du es ändern willst, würde ich die Window-Namen in dem screenrc einfügen. http://www.scribd.com/doc/20907111/screenrc (http://www.scribd.com/doc/20907111/screenrc). Auch, ich finde es eigentlich besser wenn terminal nicht automatisch eine neue screen öffnet. Eine die tolslten Dinge mit screen ist das du kannst das Fenster schliessen, du kannst Terminal beenden, du kannst auch abmelden, 50 km entfernt wegfahren, zu deinem Computer zu Hause verbinden, und screen ist immer noch aktiv, mit alles was du drin hast aktuell.
-
ja, es ist genau Deins von scribd. Und was den anderen Ratschlag betrifft: Du wirfst also erst einfach das Terminal an, startest dann screen, erzeugst die beiden Unterfenster "error" und "tail", und dann legst Du los und hast in jedem Unterfenster einen anderen Prozess laufen: nano im ersten, die pdf-Produktion im zweiten und die lilypond-Meldungen im dritten. geschieht das im dritten Fenster von selbst, wenn im zweiten der lilypond-Befehl gegeben wird? Oder muß ich vorher etwas tun?
-
Alle drei Fenster sollten vom Anfang an da sein. Das mit den Fehlermeldungen kommt von wie lilypond gerufen ist. die '2> ~/.err.txt' in dem 'compile' Fenster schickt die Fehlermeldungen zu einer Datei, und die 'tail -f ~/.err.txt' liest diese Datei.
-
jetzt bin ich wieder am Rechner, nachdem ich von einer Reise zurück bin...
und jetzt wird es ernst mit nano, LilyPond und mir. Leider habe ich noch ein paar Fragen, die ich klären muß. Alles ist eingerichtet wie von Dir beschrieben:
ich habe .screenrc mit Inhalt von Dir angelegt
ich habe .bash_profile mit dem von Dir angegebenen Inhalt angelegt. Beide Dateien liegen in meinem Benutzerverzeichnis (habe ich im Terminal geprüft)
Wenn ich nun das Terminal starte und danach screen, passiert Folgendes: screen startet, und am Ende bleibt ein einziges Fenster, nämlich "tail". Ist das bei Dir auch so? Die anderen beiden, also "lilypond" und "compile", muß ich manuell anlegen. Ist das bei Dir auch so?
Wenn ich das alles gemacht habe, gehe ich in "lilypond" in das Verzeichnis, wo ich meine LilyPond-Sachen liegen habe (das ist ein Ordner in "Documents"). Bin ich dort, öffne ich das allbekannte test.ly mit nano.
Dann wechsle ich ins Fenster "compile". Dort wechsle ich auch erst einmal in das gleiche Verzeichnis wie in "lilypond", damit meine PDFs an der gleichen Stelle angelegt werden. Ich gebe ein: lilypond test.ly 2< ~/.err.txt und drücke "Return". lilypond nimmt seine Arbeit auf, ohne daß ich angezeigt bekomme, was lilypond gerade tut (was es ja normalerweise macht). Aber in einem Finder-Fenster kann ich sehen, daß eine Datei test.ps und test.pdf entstehen.
Wechsle ich nun in "tail", sehe ich gar nichts, noch nicht einmal eine Eingabeaufforderung. Allerdings kann ich etwas schreiben, aber natürlich geschieht nach dem Drücken der Return-Taste nichts. Ich hatte erwartet, daß ich dort dann sehen könnte, wie lilypond gearbeitet hat und wie es ausgegangen ist. So sieht es jedenfalls in Deiner Anleitung aus.
Mache ich etwas falsch, habe ich etwas mißverstanden oder habe ich einen wichtigen Schritt übersehen oder ausgelassen? Das betrifft vor allem die nicht automatisch angelegten 3 Fenster (so hatte ich es verstanden und erwartet) und die fehlende Rückmeldung in "tail"
bin gespannt auf Deine Antwort...
-
…
ich habe .screenrc mit Inhalt von Dir angelegt
ich habe .bash_profile mit dem von Dir angegebenen Inhalt angelegt. Beide Dateien liegen in meinem Benutzerverzeichnis (habe ich im Terminal geprüft)
Wenn ich nun das Terminal starte und danach screen, passiert Folgendes: screen startet, und am Ende bleibt ein einziges Fenster, nämlich "tail". Ist das bei Dir auch so? Die anderen beiden, also "lilypond" und "compile", muß ich manuell anlegen. Ist das bei Dir auch so?
Nee. Da ist etwas schief gegangen. Es sollte alle drei Fenster gleichzeitig auftauchen.
…
Wechsle ich nun in "tail", sehe ich gar nichts, noch nicht einmal eine Eingabeaufforderung. Allerdings kann ich etwas schreiben, aber natürlich geschieht nach dem Drücken der Return-Taste nichts. Ich hatte erwartet, daß ich dort dann sehen könnte, wie lilypond gearbeitet hat und wie es ausgegangen ist. So sieht es jedenfalls in Deiner Anleitung aus.
Da brauchst du auch die tail -f ~/.err.txt in dem Fenster eingeben
-
hallo James,
ja, da scheint am Anfang etwas schiefzugehen. Es scheint, also ob screen auch versuchen würde, die drei Fenster zu öffnen, aber es schafft es nicht, und es bleibt nach ein paar Sekunden nur ein rudimentäres "tail" übrig. Es macht den Eindruck, daß screen etwas sucht, aber nicht findet...
Bei näherem Hinsehen entziffere ich die Fehlermeldung: "Cannot exec 'compile' No such file or directory". Sagt Dir das etwas?
Ich kann ja sonst auch nur raten. warum das so ist. Wenn ich mir alles genau ansehe, habe ich zwei verschiedene Informationen über den Inhalt von .bash_profile: einmal ". ~/.profile" und auf Deiner Anleitung ". ~/.bashrc"
Was ist also korrekt?
Und dann könnte ".screenrc" auch eine Fehlerquelle sein. Beim Kopieren und Einfügen gibt es leider Ungenauigkeiten: Leerzeichen oder Returns werden nicht mitkopiert.
Ich habe mich bemüht, alles so erscheinen zu lassen wie auf "Scribd", aber eigentlich je nach Kopiermethode bekomme ich zwei Ergebnisse, die ich hier unten eintrage:
- startup_message off
s
defutf8 on
defencoding UTF-8
d
defmonitor on
d
sorendition gK
s
activity "activity in %n (%t) %w"
a
##### HARDSTATUS #####
hardstatus on
hardstatus alwayslastline
hardstatus string "%-w%{.gW}%n %t%{-}%+w %=%{..g} %H %{..g} %m/%d %c:%s "
h
screen -t lilypond lilypond
s
screen -t compile compile
s
screen -t tail tail
- startup_message off
defutf8 on
defencoding UTF-8
defmonitor on
sorendition gK
activity "activity in %n (%t) %w"
##### HARDSTATUS #####
hardstatus on
hardstatus alwayslastline
hardstatus string "%-w%{.gW}%n %t%{-}%+w %=%{..g} %H %{..g} %m/%d %c:%s "
screen -t lilypond lilypond
screen -t compile compile
screen -t tail tail
Kannst Du mir sagen, welche der beiden Versionen korrekt ist? Oder gar keine von beiden?
Oder fehlt sonst noch etwas, was screen benötigt?
-
Ach du meine güte!
Erstens, danke! Vielen, vielen Dank! Wie ist es möglich das ich das übersehen könnte?! Das sollte am Ende so aussehen:
Je nachdem du es magst, screen -t lilypond
screen -t compile
screen -t tail
oder screen -t lilypond nano
screen -t compile
screen -t tail
Danke vielmals für die Fehlermeldung.
Zu den falsch kopierte .screenrc, ich würde es so nicht behalten. screen kann trotz die Fehler laufen, meldet aber beim Startup jede Fehler, und da du eine richtige hast, würde ich den vorschlagen.
-
hallo James,
hat alles ein bißchen gedauert, bis ich alles probiert habe, aber da war der Fehler in der Tat! Jetzt läuft alles nach Plan so wie bei Dir. Die Fenster öffnen sich, und wenn man "*.ly" mit dem Zusatz "2> ~/.err.txt" in "compile" eingibt, dann ist auch hinterher die gewohnte LilyPond-Meldung im "tail"-Fenster zu sehen.
Ich glaube, es hat einige harte Arbeit erfordert, all das herauszufinden. Ich finde es ganz großartig und eindrucksvoll, wenn jemand es schafft, Wege zu beschreiten, die noch keiner zuvor gegangen ist. Es gibt ja ein paar Arbeitsumgebungen, die Programmierer geschaffen haben, um die Arbeit mit LIlyPond für die GUI-verwöhnten und -gewöhnten Benutzer zu erleichtern, die alle ihre Verdienste haben.
Aber daß jemand, der gar nicht programmieren gelernt hat, sich so etwas erarbeitet, finde ich fantastisch und bewundernswert.
Ich bin jedenfalls froh, daß jetzt nano mit LilyPond und mit screen reibungslos läuft und werde Dir demnächst berichten, wie es mir ergangen ist.
ach ja: was ist denn nun mit dem Inhalt von ~/.bash_profile? ist es nun mit "profile" oder mit "bashrc"?
-
na, jetzt gibt es doch noch ein kleines Problemchen mit "tail": was ich auch vorher "gelilypondet" habe, immer zeigt " tail -f ~/.err.txt" an, daß ich gerade "test.ly" in ein PDF verwandelt habe.
Die Umwandlung selber funktioniert tadellos, nur die Aktualisierung nicht. Fällt Dir etwas dazu ein?
-
tail mit dem -f sollte immer aktualisieren. Keine Ahnung. Vielleicht mit Strg-c beenden und nochmail abrufen.
-
das ist das erste Mal, daß ich Dich ratlos sehe...
Ich habe noch einmal genau alles angeschaut und beobachtet:
ich habe .err.txt gelöscht und neu angelegt, wobei ich irgendetwas hineingeschrieben habe.
ich habe screen gestartet und in "compile" eine LilyPond-Datei mit "lilypond" kompiliert. Mache ich das ohne den Zusatz "2< ~/.err.txt", bekomme ich das normale Feedback von LilyPond in "compile". Geschieht das mit dem besagten Zusatz, sehe ich zwar in "compile" keine LilyPond-Rückmeldungen, aber das Ergebnis ist exakt das gleiche. Die Umwandlung funktioniert also in jedem Fall.
gebe ich dann in "tail" ein: "tail -f ~/.err.txt"/Return, bekomme ich in jedem Fall immer den Zustand von .err.txt angezeigt so wie ich die Datei angelegt habe. Sie wird nicht aktualisiert. Strg-c bewirkt auch keinen Neustart; ich bekomme keine neue Eingabeaufforderung.
Das bringt mich zu dem Schluß: entweder ich mache etwas falsch, weil ich etwas nicht begriffen habe oder ist vielleicht immer noch nicht alles in Ordnung mit meinem ~/.screenrc?
Im Moment sieht es so aus:
startup_message off
defutf8 on
defencoding UTF-8
defmonitor on
sorendition gK
activity "activity in %n (%t) %w"
##### HARDSTATUS #####
hardstatus on
hardstatus alwayslastline
hardstatus string "%-w%{.gW}%n %t%{-}%+w %=%{..g} %H %{..g} %m/%d %c:%s "
screen -t lilypond nano
screen -t compile
screen -t tail
Oder ist es von Bedeutung, daß .err.txt im gleichen Verzeichnis liegt wie die LilyPond-Dateien, die ich mit nano bearbeite? Das ist bei mir ein Unterverzeichnis von ~/Documents.
Kannst Du Dir das bitte noch einmal ansehen? Sonst habe ich im Augenblick auch keine Idee mehr. Die Idee, sich die LilyPond-Rückmeldungen in einem Extra-Fenster, dessen Inhalt sich aktualisiert, anzusehen, ist andererseits sehr praktisch, und ich hoffe, daß sie sich bei mir auch noch umsetzen läßt. Wenn das bei Dir in dieser Konstellation funktioniert, dann müßte es mit einem "Nachbau" auf einem anderen Rechner doch auch machbar sein.
-
wenn du zwei verschiedene Dokumente kompilierst, gibt's keine Aktualisierung in tail?
-
ja, genau, der Inhalt der Datei ändert sich nie, auch nicht, nachdem ich zwei verschiedene LilyPond-Files in PDFs umgewandelt habe. Er bleibt immer in dem Zustand, in dem ich ihn angelegt habe. Ich bekomme also noch nicht einmal ein Feedback für die erste Aktion. Wenn ich es richtig verstanden habe, müßte sich nach jedem "lilypond *.ly 2< ~/.err.txt" in "tail" die Anzeige, also auch der Inhalt der Datei ändern, nicht wahr?
Kannst Du mir einmal beschreiben, was Du machst, wenn Du mit screen und LilyPond im Terminal arbeitest? Mache ich irgendeinen Bedienungsfehler? Oder klingt es anhand meiner Angaben so wie Du es auch machst?
-
lieber James,
jetzt streue ich Asche auf mein Haupt! Wie kann man nur so blöd sein! Ich habe den Fehler gefunden, und er gehört eindeutig in die Kategorie "menschliches Versagen": ich habe es über Stunden hinweg fertiggebracht, "<" und ">" hinter der 2 zu verwechseln! Da Computer ja nun einmal Vollidioten sind, wie wir ja alle wissen, konnte der meinige natürlich mit dem falschen Zeichen nichts anfangen und tat wie ihm geheißen, nämlich nichts!
Der Fehler steckt auch in meinen letzten Antworten, wo Du ihn verständlicherweise auch überlesen hast, denn er ist unscheinbar. lilypond *.ly 2< ~/.err.txt
Wenn ich in "compile" eingebe: "lilypond *.ly 2> ~/.err.txt", ist alles bestens. Trotzdem ist es gut, darüber gemeinsam gegrübelt zu haben. Sonst hätte ich bestimmt noch länger gebraucht.
Herzlichen Dank also - diesmal noch herzlicher als sonst - für Deine Anteilnahme. Dann steht es jetzt also 1:1 zwischen uns (screenrc :> sozusagen)... ::)