Der Dateimanager thunar sortiert die Dateinamen etwas eigenwillig:
_a
a
_b
b
Ich hätte gerne eine alphabetische Sortierung:
_a
_b
a
b
Wie kann ich thunar konfigurieren, dass er alphabetisch sortiert?
Der Dateimanager thunar sortiert die Dateinamen etwas eigenwillig:
_a
a
_b
b
Ich hätte gerne eine alphabetische Sortierung:
_a
_b
a
b
Wie kann ich thunar konfigurieren, dass er alphabetisch sortiert?
Sorry for English
In thunar, view/arrange items you can choose what you want
Can you test it, what you mean, by you? By me it does’nt work:
In my thunar (in german:) Menü Ansicht → Anordnen only gives me the Option Nach Name, witch sorts the file names a bit strangely (see above):
_a
a
_b
b
In my thunar i have arrange by name etc
asceding or descending
and toggle sort order (no idea what this exactly does)
In thunar there are no more options
I would like to have alphabetical sorting:
_a
_b
a
b
Can you create these files (above) in a folder test and achieve this order, displayed in thunar?
I have the same sort order, i don’t know if that can be changed as there are no options in thunar to change that like in dolphin(kde)
Thanky for your ideas.
can anyone help me to solve my problem in thunar?
Is another Filemager better?
You might have a look on the answer with the 21 upvotes here:
https://askubuntu.com/questions/239371/how-do-i-list-folders-with-underscores-first#
Hope, this helps.
Hallo @micha2
Es wird alphabetisch sortiert, aber auf Deutsch nach “DIN 5007”. Ein Unterstrich ist im deutschen Alphabet nicht vorhanden, wie du weißt. Um es mal einfach zu sagen:
Es wird nach der Norm sortiert (Sonderzeichen ignoriert) und dann mit Sonderzeichen nachjustiert.
Beispiel:
$ export LC_COLLATE=de_DE.UTF-8 ; echo -e "ß\nss\n&a\n_a\na\na_\nä\na_a\na_b\n&b\n_b\nb\nb_\nb_a\nb_b\nö\nü" | sort
&a
_a
a
a_
ä
a_a
a_b
&b
_b
b
b_
b_a
b_b
ö
ss
ß
ü
$ export LC_COLLATE=C ; echo -e "ß\nss\n&a\n_a\na\na_\nä\na_a\na_b\n&b\n_b\nb\nb_\nb_a\nb_b\nö\nü" | sort
&a
&b
_a
_b
a
a_
a_a
a_b
b
b_
b_a
b_b
ss
ß
ä
ö
ü
Im Grunde könnte man sagen: Im ersten Beispiel wird nach deutscher Normierung sortiert und im zweiten Beispiel wird die ASCII-Zeichentabelle verwendet (wo diese Sonderzeichen am Anfang stehen und entsprechend sortiert werden), was du wahrscheinlich von Windows gewohnt bist.
In den Manjaro-Einstellungen kannst du das Sortierverhalten anpassen, unter “Sprachumgebungseinstellungen” → “Ausführliche Einstellungen”:
Naja, der Midnight Commander (mc) sortiert so
aber “besser” ist natürlich relativ. Besser für deine gewünschte Sortierung, aber magst Du auch die restlichen Funktionen?
Den gibt es immer noch, das gefällt mir
Danke für die ausführliche Antwort Erst Mal klingt es für mich gut, dass es in Linux im System eingestellt wird
Ich habe dann ein bißchen probiert und es scheint nicht so richtig zu funktionieren. Hier meine Versuche:
Es hat eine Zeitlang gebraucht, bis ich Sprachumgebungseinstellungen gefunden hatte. Hier: # (Metataste) → xfce whisker menu → Suchfeld: Manjaro Einstellungen → Manjaro-Einstellungsmanager → Sprachumgebungseinstellungen → Ausführliche Einstellungen → Vergleich und Sortierung
(so geht es auch: sudo manjaro-settings-manager -m msm_locale :-)
Dort kann ich nicht Vergleich und Sortierung auf C und nicht auf en_EN.UTF-8 einstellen, sondern nur auf en_US.UTF-8. Das übernimmt er aber nicht in
$ cat /etc/locale.conf
LANG=de_DE.UTF-8
LC_COLLATE=C
und locale
zeigt en_EN.UTF-8
$ locale
locale: Kann »LC_ALL« nicht auf die Standard-Lokale einstellen: Datei oder Verzeichnis nicht gefunden
LANG=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=en_EN.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="de_DE.utf8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
In Sprachumgebungseinstellungen stehen Sprache, Nachrichten und CType alle auf de_DE.UTF-8
Wenn ich mit sudo localectl set-locale LC_COLLATE=en_US.UTF-8
auch auf *US einstelle, dann wird es in
$ cat /etc/locale.conf
LANG=de_DE.UTF-8
LC_COLLATE=en_US.UTF-8
angezeigt, aber nicht in
$ locale
locale: Kann »LC_ALL« nicht auf die Standard-Lokale einstellen: Datei oder Verzeichnis nicht gefunden
LANG=de_DE.utf8
LC_CTYPE="de_DE.utf8"
LC_NUMERIC=de_DE.UTF-8
LC_TIME=de_DE.UTF-8
LC_COLLATE=en_EN.UTF-8
LC_MONETARY=de_DE.UTF-8
LC_MESSAGES="de_DE.utf8"
LC_PAPER=de_DE.UTF-8
LC_NAME=de_DE.UTF-8
LC_ADDRESS=de_DE.UTF-8
LC_TELEPHONE=de_DE.UTF-8
LC_MEASUREMENT=de_DE.UTF-8
LC_IDENTIFICATION=de_DE.UTF-8
LC_ALL=
mit sudo localectl set-locale LC_COLLATE=en_EN.UTF-8
kann ich en_EN.UTF-8
nicht setzen => Error: Failed to issue method call: Can not enable locale generation for invalid locale: en_EN.UTF-8
PS: Was bedeutet in $ locale: locale: Kann »LC_ALL« nicht auf die Standard-Lokale einstellen: Datei oder Verzeichnis nicht gefunden ?
Wie sicher bist du den, dass es en_EN.UTF-8
gibt? In Kleinbuchstaben steht die Sprache, hier also Englisch und in Großbuchstaben dann das Land als zwei Buchstaben. Meines Wissens gibt es kein Land mit dem ISO Code EN. England ist immer noch Teil von GB, wobei UK zumindest theoretisch auch zulässig ist.
Spielt aber auch alles keine Rolle, den was nicht in /etc/locale.gen
steht kann nicht funktionieren. Und natürlich muss bevor irgendwas daraus verwendet wird, die Sprache mit locale-gen erstellt werden.
Das wird aber immer noch nicht reichen, nach einem Umstellen muss sich mindestens einmal komplett vom System abgemeldet werden.
Ich hab’s aus dem Beispiel von oben von megavolt: $ export LC_COLLATE=en_EN.UTF-8 ; echo -e "ß\nss\n&a\n_a\na\na_\nä\na_a\na_b\n&b\n_b\nb\nb_\nb_a\nb_b\nö\nü" | sort
Danke für den Hinweis auf das script locale-gen
und die Datei /etc/locale.gen
Sorry, da hab ich nicht richtig nachgedacht. en_EN.UTF-8
gibt es nicht, deswegen fällt es auf C.UTF-8
zurück.
Also hab mal kurz getestet… du kannst folgendes machen:
localectl set-locale LANG=de_DE.UTF-8 LC_COLLATE=C.UTF-8
ausloggen und einloggen. Dann solltest du das haben:
$ localectl status
System Locale: LANG=de_DE.UTF-8
LC_COLLATE=C.UTF-8
VC Keymap: de
X11 Layout: de
Hab jetzt nicht thunar
getestet, aber im Terminal mit sort
und in pcmanfm
wird es nach deinen Vorstellungen sortiert:
$ echo -e "ß\nss\n&a\n_a\na\na_\nä\na_a\na_b\n&b\n_b\nb\nb_\nb_a\nb_b\nö\nü" | sort
&a
&b
_a
_b
a
a_
a_a
a_b
b
b_
b_a
b_b
ss
ß
ä
ö
ü
Aber jetzt mal ehrlich. Diese Sortierung ist so 1980 und warum verwendete man Unterstriche am Anfang? Ich denke nur weil man diese an den Anfang setzen will? Am Ende ist es mir egal, da ich normale Sortierung präferiere, das heißt die alphabetische Sortierung, nicht die generische. Um Ordner an den Anfang zu setzen gibt es andere Methoden: Ich verwende Zahlen.
Nein im Gegenteil, vielen Dank dafür: Dadurch konnte ich die Sachen suchen und habe mehr verstanden als ohne deinen kreativen Fehler ;-)
OK Aus- und wieder Ein-Loggen, wird dann wahrscheinlich auch die unterschiedlichen Ausgaben von
cat /etc/locale.conf
locale | grep LC_COLLATE
vereinheitlichen. Dafür brauche ich noch Zeit. Ich habe noch viele Fenster offen, die ich bearbeite. Ich melde mich dann wieder, wenn ich soweit bin …
Übrigens: Der Fehler in $ locale: locale: Kann »LC_ALL« nicht auf die Standard-Lokale einstellen: Datei oder Verzeichnis nicht gefunden
ist nach $ sudo locale-gen
weg.
Vielen Dank an Alle für eure Unterstützung
Korrekt. Du kannst die Variablen setzen, aber damit globale Variablen einglesen werden, musst du dich generell neu-einloggen. Kannst ja thunar auch so starten:
export LC_COLLATE=C.UTF-8 && thunar
Dann wird die Sortierung temporär gesetzt und thunar mit dieser Einstellung gestartet.
Bei mir startet thunar und hat die deutsche Sortierung:
_a
a
_b
b
Funktioniert das bei Dir? Ich warte auf jeden Fall mal ab, bis zum neuen Einloggen oder reboot.
Ja. Aber Du solltest alle laufenden Thunar Instanzen schließen, da es sonst nicht übernommen wird.
In XFCE ist Thunar noch für den Desktop verantwortlich. Ich bin mir nicht sicher ob es reicht alle Thunar Fenster zu schließen und ein neues zu starten. Wahrscheinlich müsste der Desktop Prozess auch beendet werden.