Hör auf, Emacs zu fragen, ob ein Thema sicher ist

8

Ich habe mein Thema mit load-theme in einem beim Start geladenen Use-Package-Makro festgelegt. Das Thema wurde auch mit dem Use-Package aus dem Repository installiert.

Bei jedem Start fragt mich emacs, ob ich das Thema wirklich laden möchte, falls es nicht sicher ist. Wie kann ich ihm sagen, dass er aufhören soll?

Nicolas Scotto Di Perto
quelle
Es sollte Sie auch fragen, ob Sie möchten, dass Emacs sich für zukünftige Sitzungen an Ihre Wahl erinnert, aber es hört sich so an, als würde es Sie nicht danach fragen, habe ich Recht? Wenn nicht, bin ich mir nicht sicher warum. Versuchen M-x load-themeSie, das gewünschte Thema zu verwenden und auszuwählen , und prüfen Sie, ob es Ihnen die Möglichkeit bietet, zu erkennen, dass es in Zukunft sicher ist. Ich habe gerade versucht, ein neues Thema zu installieren und es auf diese Weise zu laden, und es hat bei mir funktioniert. Der Hash des Themas muss hinzugefügt werden, custom-safe-themesaber ich bin mir nicht sicher, wie ich das manuell machen soll - wahrscheinlich sollten Sie das nicht tun.
Elethan
Wenn alles andere fehlschlägt, können Sie (setq custom-safe-themes t)Ihrer Init-Datei hinzufügen , bevor Sie Ihr Design laden. Dadurch werden alle Themen als sicher behandelt, was theoretisch ein Risiko darstellen könnte. Wenn Sie jedoch nur Themen aus vertrauenswürdigen Quellen installieren, sehe ich kein Problem
elethan
Wenn ich M-x load-themeemacs frage, ob es noch sicher ist, aber wenn ich es beim Start aus einer .el-Datei lade, werde ich trotzdem gefragt, ob ich Lisp-Code ausführen möchte. (setq custom-safe-themes t)funktioniert für mich, daher teste ich neue Themen in einer Sitzung, bevor ich sie lade. Vielen Dank
Nicolas Scotto Di Perto

Antworten:

19

Setzen Sie das zweite Argument der load-themeFunktion. Aus der Dokumentation:

Wenn das Thema von "Benutzerdefinierte sichere Themen" nicht als sicher eingestuft wird, fordern Sie den Benutzer vor dem Laden zur Bestätigung auf. Wenn das optionale Argument NO-CONFIRM jedoch nicht null ist, laden Sie das Thema ohne Aufforderung.

Zum Beispiel:

(load-theme 'solarized-dark t)

lädt das solarized-darkThema ohne zu fragen.

undostres
quelle
Oh danke, das ist der richtige Weg!
Nicolas Scotto Di Perto