Push-Nachrichten von MacTechNews.de
Würden Sie gerne aktuelle Nachrichten aus der Apple-Welt direkt über Push-Nachrichten erhalten?
Forum>Software>Kann man alle Desktop Dateien ausblenden?

Kann man alle Desktop Dateien ausblenden?

barbagianni
barbagianni13.11.2213:22
Ich habe morgen, nach eine sehr lange Pause, wieder ein Videocall über Teams.

Dabei kann vorkommen, dass ich mein Desktop einblende und Teile. Eigentlich sehr unwahrscheinlich, aber für den Fall der Fälle, wie kann ich mein Desktop-Dateien ausblenden?

OSX BIG SURE 11.7.1
0

Kommentare

Weia
Weia15.11.2218:06
barbagianni
Ich habe die Skripten einfach so übernommen und in Skript-Ordner kopiert. Jeweils eine Datei erstellt. Vielen Dank dafür!!
Jetzt erscheinen sie unter "Skripten" in der Menuleiste. Aber wichtig ist hierfür, "Skripten in der Menuleiste einblendet" aktiviert wird, ansonsten kann man die Skripten vergeblich suchen.
Das geht direkt in Skipteditor unter Einstellungen - > Allgemein.
Das ist ein wichtiger Hinweis und erspart mir, ggf. später nochmals darauf hinzuweisen.
Kann man hier vielleicht Ausnahmen ausschließen?
Dabei meine ich, alle bereits gemounteten Festplatten und Netzwerkplatten trotzdem sichtbar und anklickbar bleiben sollten wenn der Finder ausgeblendet ist?
Nein, das geht leider nicht.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
0
barbagianni
barbagianni15.11.2218:09
Weia

Schade, dass es nicht geht. Es wäre eine feine Sache gewesen.
Aber für mich ist die aktuelle Lösung trotzdem sehr sehr schön.
0
Weia
Weia15.11.2220:45
barbagianni
Schade, dass es nicht geht. Es wäre eine feine Sache gewesen.
Ist es keine Alternative, die Festplatten in der Seitenleiste des Finders einzublenden? Ich glaube, per Default sind die ausgeblendet, aber man kann sie in den Finder-Einstellungen für die Seitenleiste unter Orte einblenden.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+1
Nebula
Nebula15.11.2220:58
Oh ja, das Skriptmenü. Das hatte ich total vergessen. Danke der Korrektur, @@Weia
„»Wir werden alle sterben« – Albert Einstein“
0
Weia
Weia17.11.2204:58
Weia
Ich habe im Moment keine Zeit, aber ich poste später mal die vollständigen Textdateien für die verschiedenen Varianten, die Ihr einfach in ~/Library/Scripts legen könnt.
Ich hatte bislang keine Zeit, sorry.

Also ganz kurz: AppleScript und Shell-Skripte sind sehr unterschiedliche Dinge; ersteres kommt vom Classic Mac und zweiteres aus der Unix-Welt.

Shell-Skripte heißen so, weil sie exakt das machen, was eine Unix-Shell auch macht: Textkommandos ausführen, wie man sie auch interaktiv auf der textbasierten Benutzerschnittstelle von Unix, der Shell, ausführen würde, die in einem Terminal-Fenster läuft. Eine Shell ist für textgesteuertes Unix quasi das, was für den Mac die GUI ist.

Das Alleinstellungsmerkmal des ansonsten furchtbar umständlichen AppleScript ist, dass es mit Cocoa-GUI-Apps kommunizieren und sie steuern kann, die darauf vorbereitet sind (und das sind sehr viele).

Daraus folgt: Will man etwas automatisieren, was man ansonsten in eine Shell in einem Terminal-Fenster eingeben würde, nimmt man ein Shell-Skript. Will man etwas automatisieren, was man ansonsten in einer Cocoa-App erledigen würde, nimmt man ein AppleScript.

Eine AppleScript-Datei kann als Binärcode gespeichert sein und kann in jedem Fall nur von den 3 Skript-bezogenen Apps in macOS (Skript-Editor, Automator, Kurzbefehle) ausgeführt werden (auch wenn das unsichtbar im Hintergrund passiert). Shell-Skripte sind simple reine Textdateien und werden in einem Unix-System wie macOS automatisch von der passenden Shell ausgeführt.

Beide Arten Skripte lassen sich aus dem Skript-Menü in der macOS-Menüzeile ausführen; dazu muss das Skript-Menü aber, wie schon angesprochen, einmalig in Skript-Editor → Einstellungen … → Allgemein eingeschaltet werden. Dann erscheinen dort alle Skripte, die man in ~/Library/Scripts ablegt.


Die Aufgabe, die in diesem Thread automatisiert werden sollte, ist der Terminal-Befehl defaults. Daher ist klar, dass das geeignete Skript ein Shell-Skript ist.

pünktchens Vorschlag, ein AppleScript zu erstellen, nur um ein Shell-Skript auszuführen, ist – Entschuldigung – komplett sinnloser Overhead:
pünktchen
Oder man nimmt einfach den uralten Skripteditor und ein Apple-Script und benutzt das vom Scriptmenü aus:

Desktop aus
do shell script "defaults write com.apple.finder CreateDesktop false"
quit application "Finder"
delay 0.5
tell application "Finder" to activate
[…]


Ein Shell-Skript ist wie gesagt schlicht eine TextDatei, die man in TextEdit als Reiner Text anlegt (einen dafür optimierten Texteditor kann man natürlich auch nehmen, wenn man einen hat). Zwei Dinge machen aus der Textdatei ein Shell-Skript: In der ersten Zeile muss angegeben werden, welche Shell verwendet werden soll (es gibt nämlich verschiedene, leider nicht ganz kompatible). Und die Datei muss das Zugriffsrecht ausführbar erhalten. Leider kann man das im Finder nicht einstellen (in mehreren Finder-Alternativen aber schon), sondern man muss hierfür das Terminal bemühen. Der Befehl lautet:
chmod 755 /Pfad/zu/der/SkriptDatei
Statt /Pfad/zu/der/SkriptDatei einzutippen, kann man die Datei schlicht ins Terminal-Fenster ziehen (Leerzeichen davor nicht vergessen!).

Ein Suffix braucht die Skript-Datei nicht; ihr Name wird zum Befehlsnamen im Skript-Menü. Vollständig sehen die hier diskutierten Varianten als Shell-Skripte also wie folgt aus (immer ausführbar machen!).


Die Variante mit zwei getrennten Befehlen:

Schreibtisch aus
#!/bin/sh
defaults write com.apple.finder CreateDesktop 0
killall Finder

Schreibtisch ein
#!/bin/sh
defaults write com.apple.finder CreateDesktop 1
killall Finder

Hier wird die Standard-Unix-Shell /bin/sh verwendet wie normalerweise immer. Eingestellt ist das in der ersten Zeile, formal codiert durch ein vorangestelltes #!


Die Variante mit einem Umschaltbefehl:

Schreibtisch ein-aus
#!/bin/zsh
result=$(defaults read com.apple.finder CreateDesktop)
if [ $result = 0 ]; then
    defaults write com.apple.finder CreateDesktop 1
else
    defaults write com.apple.finder CreateDesktop 0
fi;
killall Finder

Hier gibt es ein Problem: $(Befehl) ist eine Syntax, die die Standard-Shell nicht kennt, nur die sogenannte Z-Shell, die Apple aus Lizenzgründen neuerdings allen Nutzern aufs Auge drücken will. #!/bin/sh in der ersten Zeile würde also nicht funktionieren; es muss #!/bin/zsh heißen, wenn man das Skript so schreibt.

Oder aber man schreibt stattdessen eben das Skript standardkonform:
#!/bin/sh
result=`defaults read com.apple.finder CreateDesktop`
if [ $result = 0 ]; then
    defaults write com.apple.finder CreateDesktop 1
else
    defaults write com.apple.finder CreateDesktop 0
fi;
killall Finder


Abschließend sei angemerkt, dass man die beiden Skript-Arten auch kombinieren kann. Wenn die Aufgabe im Wesentlichen ein Shell-Skript nahelegt, man an ein oder zwei Stellen aber gerne mit einer Cocoa-App kommunizieren würde, kann man ein AppleScript-Fragment mit dem Unix-Befehl osascript einbinden. Und umgekehrt kann man in einem AppleScript mit do shell script eben ein Shell-Skript aufrufen.

Und noch eine Anmerkung: Seit macOS Yosemite erlaubt der Skript-Editor, statt der verquasten AppleScript-Sprache auch JavaScript zu verwenden. Leider ist die Implementation aber unvollständig und ziemlich buggy, sodass meist die Verwendung von AppleScript doch besser ist.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+5
MrChad28.11.2219:25
Wurzenberger
Wie bereits verlinkt, im Terminal
defaults write com.apple.finder CreateDesktop false
eingeben und ENTER drücken.

Danach mit
killall Finder
den Finder neustarten.

Der Ordner ~/Desktop ist dann noch vorhanden und kann wie ein normaler Ordner genutzt werden. Die in ihm befindlichen Dateien werden allerdings nicht mehr auf dem Schreibtisch angezeigt. Man sieht dann einfach nur noch das Hintergrundbild.

Neuerdings gibt es in den StageManager-Einstellungen einen "offiziellen" Weg, der sich allerdings nicht gut mit diesem "Hack" verträgt:
DeepL-Übersetzung
Natürlich gibt es jetzt eine weitere Komplikation in Ventura: Stage Manager, der in seinen Einstellungen eine Option zum Ein- und Ausblenden von Objekten hat, die auf dem Desktop angezeigt werden. Diese Option nutzt die CreateDesktop-Einstellung überhaupt nicht, sondern scheint das Verhalten des Finders ganz anders zu verändern. Wenn CreateDesktop auf false gesetzt ist, hat die Einstellung von Stage Manager keinerlei Auswirkungen, was zu weiterer Verwirrung unter den Benutzern führt.
https://eclecticlight.co/2022/11/24/dealing-with-a-dysfunctional-desktop/
+1
Weia
Weia29.11.2201:54
MrChad
Neuerdings gibt es in den StageManager-Einstellungen einen "offiziellen" Weg, der sich allerdings nicht gut mit diesem "Hack" verträgt:
1. Das ist kein „Hack“, sondern eine vorgesehene Funktion in macOS, die lediglich keine GUI hat. Sie schaltet den Desktop komplett aus (das heißt, der Bildschirmhintergrund wird inaktiv und akzeptiert kein Drag&Drop mehr) und ist keine kosmetische Funktion zum Verstecken von Icons – das ist lediglich ein Seiteneffekt, denn wenn es keinen Desktop mehr gibt, dann sieht man natürlich auch keine Icons auf ihm mehr.

2. Die Stage Manager-Einstellung macht etwas völlig anderes: Sie blendet in der Tat lediglich die Icons auf dem Desktop aus, ohne dessen Funktionalität zu beeinflussen. Das ist also eine rein kosmetische Funktion, was die Anzeige des Desktops betrifft, die natürlich keinerlei Effekt hat, wenn es gar keinen Desktop gibt.

Verwirrend oder unverträglich kann man das nur finden, wenn man nicht begriffen hat, was die Funktion der ersten Variante ist.
„“I don’t care” is such an easy lie. (The Warning, “Satisfied”)“
+2
slmnbey
slmnbey29.11.2208:53
ruphi
Allerdings könntest du (barbagianni) Desktop-Stapel aktivieren . Das sollte das Chaos deutlich reduzieren und der Ursprungszustand lässt sich mit einem Klick auch wiederherstellen. Gab's auch schon unter Big Sur

Ich bin begeistert, bin sowas von in meinem Film, sodass ich diese „neue“ Funktion noch nie bemerkt habe 🤪 man lernt halt nie aus. Genial!
„Gefundene Rechtschreibfehler dürfen behalten werden!“
0
JoeyCruber
JoeyCruber29.11.2209:14
MrChad

Neuerdings gibt es in den StageManager-Einstellungen einen "offiziellen" Weg, der sich allerdings nicht gut mit diesem "Hack" verträgt:
DeepL-Übersetzung
Natürlich gibt es jetzt eine weitere Komplikation in Ventura: Stage Manager, der in seinen Einstellungen eine Option zum Ein- und Ausblenden von Objekten hat, die auf dem Desktop angezeigt werden. Diese Option nutzt die CreateDesktop-Einstellung überhaupt nicht, sondern scheint das Verhalten des Finders ganz anders zu verändern. Wenn CreateDesktop auf false gesetzt ist, hat die Einstellung von Stage Manager keinerlei Auswirkungen, was zu weiterer Verwirrung unter den Benutzern führt.

https://eclecticlight.co/2022/11/24/dealing-with-a-dysfunctional-desktop/
Wenn ich weiß, was CreateDesktop = false für eine Auswirkung hat und ich den Wert bewusst setze, dann sollte ich auch wissen, dass die Einstellung im Stage Manager keinen Effekt hat oder zumindest das miteinander in Verbindung setzen.
+1
stiffler
stiffler29.11.2209:56
40the8
Ich löse Probleme ja gerne an der Ursache: Wie sieht’s mit aufräumen aus? Auf meinem Desktop liegt ein Ordner „temp“, da kommt alles der Woche rein & am Freitag wird aufgeräumt, wegsortiert, gelöscht.
Das saubere Erscheinungsbild hilft auch beim normalen Arbeiten bei der Konzentration.

Noch besser: auf dem Desktop niemals Dateien ablegen, sondern direkt dahin sortieren, wo sie hingehören.
„To understand recursion you need to understand recursion“
0

Kommentieren

Diese Diskussion ist bereits mehr als 3 Monate alt und kann daher nicht mehr kommentiert werden.