2010-12-17 5 views
7

Vielleicht sollte ich das auf Superuser fragen, aber es gibt viele andere Emacs-Fragen hier, also dachte ich, ich würde mein Glück versuchen.Wie wechsle ich in Emacs auf Windows zu Admin-Benutzer?

Ich verwende GNU Emacs 23.2.1 unter Windows 7 mit aktivierter Benutzerzugriffssteuerung.

In Emacs möchte ich Änderungen an einigen Admin-Dateien (z. B. Hosts-Datei) vornehmen. Beim Versuch, die Datei zu speichern, erhalte ich jedoch eine Warnung, dass ich keine Berechtigung zum Schreiben in die Datei habe.

Gibt es eine Möglichkeit, Emacs zum Editieren dieser Dateien an den Benutzer admin zu leiten?

Antwort

3

Sie könnten sich immer einfach geschlagen geben und die Emacs-Sitzung mit erhöhten Rechten ausführen. Es gibt eine Reihe von Möglichkeiten, dies zu tun, und this page listet sie auf, einschließlich der automatischen Ausführung von Sachen als Administrator.

Dies ist wahrscheinlich nicht ganz das, was Sie wollen. Andernfalls könnten Sie ein Skript erstellen, das einen Dateinamen als erstes Argument erhält, und dann dieses Programm an eine Verknüpfung oder etwas wie admin-save binden. Wenn Sie diese Administratorrechte erteilen und dann die Datei mit dem Namen des Puffers als erstes Argument aufrufen und das Ziel als zweites, sollten Sie gut sein. obwohl

Das Skript ein einfaches BATfile sein könnte, etwas ala (Ich bin nicht auf einer Windows-Box, so kann ich nicht teste es für mich)

:: Administrator-copy.bat copies a file with adminstrator privileges. 
:: Remember to give it administrator privileges! 
: START 
COPY %1 %2 
: END 

Aber das ist eine ziemlich klobig Lösung.

Wie eine bereits laufende Anwendung zu erhöhen, weiß ich nicht.

+0

+1 für diesen guten Artikel! Ich hatte keine Ahnung, dass man mit Strg-Shift-Enter "sudo" sagen könnte. – Nathan

+0

Danke für den Rat Haakon. Ich werde mich geschlagen geben und eine separate Emacs-Sitzung für Admin-Änderungen durchführen. – Martin

+1

Sobald eine Anwendung ausgeführt wird, können Sie sie nicht mehr erhöhen (oder sie aufheben, wenn sie gestartet wurde.) Es geht darum, wie die App gestartet wird und danach nicht mehr geändert werden kann. Apps, die dies zu tun scheinen, starten tatsächlich eine weitere Kopie von sich selbst und schließen dann das Original. –

Verwandte Themen