[eigentlich gelöst] Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Du hast Probleme mit Deinem eMail-Programm, Webbrowser oder Textprogramm? Dein Lieblingsprogramm streikt?
Antworten
dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

[eigentlich gelöst] Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 25.07.2022 10:18:47

Ich habe einen Knoten im Hirn:

Ich will Debianmicro als Standard für text/plain und application/x-shellscript in der ~/.config/mimeapps.list festlegen. Eine selbst erstellte ~/.local/share/applications/micro.desktop mit folgendem Inhalt gibt es, die funktioniert auch (Aufruf aus dem grafischen Menü öffnet Micro):

Code: Alles auswählen

#!/usr/bin/env xdg-open
[Desktop Entry]
Version=2.0.10
Name=Micro
Type=Application
Comment=Texteditor
Terminal=true
Exec=micro
Categories=Development;Texteditor;TextEditor;
GenericName=Texteditor
Keywords=Text;Editor;plain;
MimeType=text/plain;text;
Icon=/home/sebastian/dox/syszeug/wallpapers/icon-micro.png
Versucht habe ich folgende Einträge:

Code: Alles auswählen

...=micro.desktop
...=/home/sebastian/.local/share/applications/micro.desktop
Ohne Erfolg, entweder tut sich gar nichts oder es wird in LO-Writer geöffnet und dieser auch selbständig in die mimeapps.list eingetragen. Wo bin ich hier falsch?
Zuletzt geändert von dasebastian am 24.09.2022 15:02:53, insgesamt 1-mal geändert.

KP97
Beiträge: 3395
Registriert: 01.02.2013 15:07:36

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von KP97 » 25.07.2022 14:55:40

Es gibt mimes in /usr/share/mime und in /usr/share/applications/mimeinfo.cache. In diese Datei wird eingetragen, was im Debianpaket beim Installieren vorgesehen ist.
Da könntest Du schon mal reinsehen, aber die Änderung steckt wohl eher in den Ordnern von /mime.
Wenn Du es gefunden hast (ist ziemlich umfangreich), kannst Du die Ordner bzw. Datei nach ~/.local/share/mime kopieren.
Die .desktop ist nur für das grafische Menü.
Eigentlich hat micro ja nur das Programm in /usr/bin, sonst keine weitere Abhängigkeit. Vielleicht kannst Du da noch was drehen, Öffnen mit... z.B., oder eine Tastenbelegung.
Du hast ja keine DE, daher weiß ich es nicht genau, mußt Du halt ausprobieren.

JTH
Moderator
Beiträge: 3007
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von JTH » 25.07.2022 15:29:07

Du musst erstmal noch angeben, dass dem Editor beim Öffnen überhaupt Dateipfade übergeben werden (können):

Code: Alles auswählen

Exec=micro %F
Siehe: Desktop Entry Specification: The Exec key.

Ansonsten klingt das soweit richtig, wie du vorgegangen bist.
Manchmal bekannt als Just (another) Terminal Hacker.

dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 25.07.2022 19:33:03

Danke für den Hinweis und den Link, JTH.

Habe in der ~/.local/share/applications/micro.desktop das Argument dazugesetzt (sowohl %F als auch %f probiert), leider kein Erfolg.

Habe auch Debianthunar selbst für die gewünschten Dateien nochmal ausdrücklich auf Micro verwiesen (Eigenschaften - Öffnen mit...), das hat er auch augenscheinlich angenommen (es wurde sogar nochmal ein extra Eintrag in der mimeapps.list angelegt - trotzdem kein Erfolg.

Trage ich in der ~/.config/mimeapps.list den absoluten Pfad zur Desktopdatei ein, wird per LO-Writer geöffnet (?), trage ich nur micro.desktop ein (so wie es Thunar selber auch gemacht hat), tut sich gar nichts.

Irgendwo hakt es da bei mir.

EDIT:
KP97 hat geschrieben: ↑ zum Beitrag ↑
25.07.2022 14:55:40
... Es gibt mimes in /usr/share/mime und in /usr/share/applications/mimeinfo.cache. ...
Danke @KP97, sorry, habe dich überscrollt. OK, das muss ich mir dann morgen anschauen, werde berichten.
Zuletzt geändert von dasebastian am 25.07.2022 19:41:11, insgesamt 1-mal geändert.

JTH
Moderator
Beiträge: 3007
Registriert: 13.08.2008 17:01:41
Wohnort: Berlin

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von JTH » 25.07.2022 20:01:18

dasebastian hat geschrieben: ↑ zum Beitrag ↑
25.07.2022 19:33:03
leider kein Erfolg.
So’n Pech. Dann mal in kleinen Schritten.

dasebastian hat geschrieben: ↑ zum Beitrag ↑
25.07.2022 10:18:47

Code: Alles auswählen

MimeType=text/plain;text;
Das ist meine ich so nicht korrekt. Das letzte text; dürfte zu viel sein. Auf diese Art alle Textdateien als unterstützt anzugeben, scheint mir nicht vorgesehen zu sein.

dasebastian hat geschrieben: ↑ zum Beitrag ↑
25.07.2022 10:18:47
Versucht habe ich folgende Einträge:

Code: Alles auswählen

...=micro.desktop
...=/home/sebastian/.local/share/applications/micro.desktop
Was hast du denn da ganz genau eingetragen? Sowas

Code: Alles auswählen

[Default Applications]
…
text/plain=micro.desktop
application/x-shellscript=micro.desktop
…
? Das sollte schon ohne absoluten Pfad gehen, da du deinen .desktop-Starter in einem Standardpfad abgelegt hast.

Was kommt hierbei

Code: Alles auswählen

grep -E 'text/plain|application/x-shellscript|micro.desktop' ~/.config/mimeapps.list
heraus?

Ah und ich könnt mir, wenn auch weit hergeholt, auch vorstellen, dass die Shebang-Zeile

Code: Alles auswählen

#!/usr/bin/env xdg-open
kontraproduktiv ist, notwendig ist sie nicht. Vielleicht verschluckt sich da irgendjemand dran. Ist der .desktop-Starter womöglich unnötig als executable markiert?
Manchmal bekannt als Just (another) Terminal Hacker.

KP97
Beiträge: 3395
Registriert: 01.02.2013 15:07:36

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von KP97 » 25.07.2022 20:47:44

Die Shebang-Zeile muß da nicht stehen, alle .desktop haben die Berechtigung 644
Ich habe mal als Muster den mc genommen, der ist ja fast das Gleiche, nur viel umfangreicher.
[Desktop Entry]
Name=Micro
Exec=micro
Icon=DeinEigenes
Terminal=true
Type=Application
Categories=FileManager;System;
Mit micro -option werden die vorhandenen Möglichkeiten angezeigt, %F wird nicht ausgeführt, auch sonst nicht viel anderes, halt micro...

Nochmal zu den mimes:
Ich hatte vor Jahren mal etwas bei den Textdateien geändert und hatte diese Änderung nach ~/.local/share/mime kopiert. Die Namen habe ich so gelassen wie in /usr/share/mime.
Das sind aber alles XML Dateien, also keine Textdokumente. Ich habe keine mimeapps.list sondern nur das Textdokument in /usr/share/applications. Vielleicht liegt da der Unterschied.

dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 26.07.2022 04:46:03

JTH hat geschrieben: ↑ zum Beitrag ↑
25.07.2022 20:01:18
So’n Pech. Dann mal in kleinen Schritten.
Gerade eine mittlere Schlafstörung, heyho, let's go in kleinen Schritten:
Das ist meine ich so nicht korrekt. Das letzte text; dürfte zu viel sein.
Habe ich aus der micro.desktop rausgenommen.
Was hast du denn da ganz genau eingetragen?
Ich hatte beide Zeilen in beiden Versionen nacheinander ausprobiert, jetzt habe ich mal auf den absoluten Pfad verzichtet, wie dir grep zeigt:

Code: Alles auswählen

sebastian@t420:~$  grep -E 'text/plain|application/x-shellscript|micro.desktop' ~/.config/mimeapps.list
text/plain=micro.desktop
application/x-shellscript=micro.desktop
sebastian@t420:~$
...dass die Shebang-Zeile

Code: Alles auswählen

#!/usr/bin/env xdg-open
kontraproduktiv ist, notwendig ist sie nicht. Vielleicht verschluckt sich da irgendjemand dran.
KP97 hat geschrieben: ↑ zum Beitrag ↑
25.07.2022 20:47:44
Die Shebang-Zeile muß da nicht stehen, alle .desktop haben die Berechtigung 644 ...
Okay, zu Befehl:

Code: Alles auswählen

sebastian@t420:~$  cat .local/share/applications/micro.desktop 
[Desktop Entry]
Version=2.0.10
Name=Micro
Type=Application
Comment=Texteditor
Terminal=true
Exec=micro %F
Categories=System;Texteditor;TextEditor;
GenericName=Texteditor
Keywords=Text;Editor;plain;
MimeType=text/plain
Icon=/home/sebastian/dox/syszeug/wallpapers/icon-micro.png
sebastian@t420:~$ 
Ist der .desktop-Starter womöglich unnötig als executable markiert?
:oops: Soll nicht? Ist raus...

Hmmmm, dann mal ohne der Option %F...., okay, dann mit %f.... Nope. Habe zwar wieder was gelernt, bin aber trotzdem noch zu - ähm, sagen wir müde - um das hinzukriegen.

Ich werde mir die Sache von KP97 noch anschauen.
KP97 hat geschrieben: ↑ zum Beitrag ↑
25.07.2022 14:55:40
Vielleicht kannst Du da noch was drehen, Öffnen mit... z.B., oder eine Tastenbelegung...
Jup, prinzipiell liegt Micro bei mir auf einem Shortcut bzw. per Debianrofi zugänglich bzw. per Debianmc als Standardeditor (diesen Weg verwende ich auch am meisten). Das "Öffnen mit..." habe ich in Thunar schon gesetzt, wird auch so vorgeschlagen, tut sich halt nix.

Es ist ein reines Luxusproblem, eine Spinnerei. Ich hatte bisher Debiangeany installiert um aus dem grafischen Dateimanager raus auf solche Dateien zugreifen zu können. Hatte das vielleicht 1 mal in 2 Monaten gebraucht und mir jetzt gedacht spar' dir die 2 Pakete, brauchst du eh nicht. :facepalm: :mrgreen:

Ich könnte zum Ausdrucken von so kleinen Textdateien und Shellzeug genauso gut Firefox nehmen oder die bleitonnenschweren unfassbar riesigen und aufgeblasenen 2 Geany-Pakete wieder installieren... Keine Ahnung. Geh jetzt mal Kaffee trinken... :mrgreen:
:THX: :THX:

dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 26.07.2022 05:38:57

Gut. Jetzt habe ich eine halbe Stunde in /usr/share/mime verbracht (beim Anschauen von mime.cache wollte ich mich gleich wieder hinlegen... :lol: ).

Was soll ich sagen, ich blicke da sowas von gar nicht durch 8O , dass ich in der ~/.config/mimeapps.list für text/plain und application/x-shellscript erst mal firefox-esr.desktop gesetzt habe. Das ist zwar etwas träge beim Öffnen, aber wie vorher erwähnt, es ist auch ein bisschen eine Spinnerei. Um da mit den Mimes herumzuarbeiten, muss ich mich erst mal grundlegend damit vertraut machen, ich hätte keine Ahnung, was ich da eigentlich mache, da lasse ich's lieber vorerst mal bis die Motivation wirklich stimmt und verbuche es unter: Ich dachte, das da wüsste ich schon alles, was ich wissen muss. :roll: :mrgreen:

Gelernt:
Den Shebang braucht es nicht für .desktops und sie müssen auch nicht extra ausführbar gemacht werden. Habe das jetzt bei meinen anderen beiden Dateien (Starter für Mocp und den Alsamixer) auch geändert.

Wenn mich der Ehrgeiz nochmal packt, dann werde ich mich da reinarbeiten, hatte das einfach nicht erwartet.

Vielen Dank euch beiden für die Mühe! :THX: :THX: :THX:

dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 24.09.2022 15:02:28

Bin das jetzt nochmal angegangen und habe per

Code: Alles auswählen

xdg-mime default micro.desktop text/plain
nochmal Debianmicro als Standard gesetzt, was soll ich sagen? Es liegt an Debianthunar, weil:

xdg-open öffnet jetzt aus der Kommandozeile heraus eine Textdatei richtig (per micro), mein Debianrofi-Dateisuchskript öffnet jetzt richtig und auch Debianspacefm (über den ich in einem anderen Thread gestolpert bin) öffnet kommentarlos die Datei in Micro.

Nur Thunar bietet es im Kontextmenü zwar an, macht dann aber nichts, weder bei Doppelklick noch über das Kontextmenü.

Im Moment habe ich damit kein Problem, da ich die meisten Sachen nicht über Thunar mache. Vielleicht wird es auch Zeit, sich mit Spacefm näher auseinanderzusetzen. Und einen Bugreport zu schreiben...

Anyways, das war mein Update. :THX:

KP97
Beiträge: 3395
Registriert: 01.02.2013 15:07:36

Re: [eigentlich gelöst] Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von KP97 » 24.09.2022 17:02:39

Tja, ich weiß schon, warum ich spacefm vorziehe...;-)
Ich nehme den jetzt schon so viele Jahre und habe _noch nie_ einen Fehler gehabt.
Außerdem kann man den umfassend selbst konfigurieren, aber wer micro bevorzugt, wird das nicht machen wollen
(ich habe mich damit mehrere Wochen beschäftigt und später immer noch was gefunden, was ich ändern wollte... Erbsenzählerei...)

dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [eigentlich gelöst] Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 25.09.2022 09:29:56

KP97 hat geschrieben: ↑ zum Beitrag ↑
24.09.2022 17:02:39
...kann man den umfassend selbst konfigurieren, aber wer micro bevorzugt, wird das nicht machen wollen
Aha.

dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [eigentlich gelöst] Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 24.10.2022 08:19:17

So, kurzes Update:

Debianspacefm habe ich mir tatsächlich ein bisschen angeschaut, mein erster Eindruck: mächtig. Da glaube ich dir, KP97, dass der alles kann, den kann man sich auch sicher haargenau so einrichten, wie man das will. ABER das USB-Handling funktioniert bei mir out of the box noch nicht so problemlos, wie ich es von zB. Debianthunar oder Debiancaja gewohnt bin. Sprich, beim automatischen Einhängen mit einem LUKS-verschlüsselten Stick gibt es Probleme, ebenso beim Auswerfen. Wenn ich es richtig gesehen habe, hängt Spacefm von sich aus nur aus und bietet (out of the box) kein komplettes Auswerfen? Das kann man sicher alles lösen, im Moment war mir das jetzt zu viel Recherche.

Sollte jemand bei Thunar über das gleiche Problem wie hier beschrieben stolpern (Thunar erkennt das Setzen auf einen Terminaleditor als "Standard" in der mimeapps.list nicht an), hier mein derzeitiger Workaround, der gut funktioniert:

Benutzerdefinierte Aktion in Thunar anlegen, mit folgendem Befehl und gewünschtem Shortcut (in meinem Fall einfach "m"):

Code: Alles auswählen

lxterminal -e  'micro %f'
Dann geht das Öffnen aller möglichen Dateien im Terminaleditor flottibiskotti.

Ganz hat mich Spacefm noch nicht losgelassen, der Leidensdruck ist aber (noch) nicht groß genug...

KP97
Beiträge: 3395
Registriert: 01.02.2013 15:07:36

Re: [eigentlich gelöst] Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von KP97 » 24.10.2022 17:03:20

dasebastian hat geschrieben: ↑ zum Beitrag ↑
24.10.2022 08:19:17
Ganz hat mich Spacefm noch nicht losgelassen, der Leidensdruck ist aber (noch) nicht groß genug...
Evtl. hilft Dir das Handbuch:
https://ignorantguru.github.io/spacefm/ ... al-en.html
Da wird wirklich alles ausführlich beschrieben, aber auch im Programm selbst wird im Kontextmenü zu allen Menüpunkten auch immer eine Erklärung angezeigt.
Gerade das mount/umount funktioniert wirklich problemlos, und kann sehr präzise angepaßt werden.
Mit udevil wurde extra ein Tool entwickelt, das auf spacefm abgestimmt ist. Auch das ist in der /etc/udevil.conf sehr umfangreich einzurichten.
Udevil kann auch parallel zu udisks2 laufen, da Du ja noch Thunar hast, passieren kann da nichts.

Ich habe nichts verschlüsselt, daher kann ich kein Muster beifügen.

dasebastian
Beiträge: 1828
Registriert: 12.07.2020 11:21:17
Lizenz eigener Beiträge: MIT Lizenz

Re: [eigentlich gelöst] Ein bestimmtes Terminalprogramm in mimeapps.list festlegen

Beitrag von dasebastian » 24.10.2022 18:55:14

Danke für die Infos, das Handbuch hatte ich schon bewundert... :mrgreen: :THX:

Antworten