Automatische Anmeldung unter Linux

8

Was ist die einfachste und eleganteste Möglichkeit, sich beim Systemstart als bestimmter Benutzer automatisch (ohne Aktion, ohne Tastendruck oder ähnliches) bei einer Fluxbox-Sitzung anzumelden? [Bearbeiten 2] Für den Benutzer sollte nicht einmal eine Shell-Anmeldung erforderlich sein, immer sollte der voreingestellte Benutzer grafisch angemeldet sein. [/ Edit 2]

Es gibt einige Setups, bei denen das schön ist.

(Bitte machen Sie Anmerkungen dazu, ob dies überhaupt diskutiert oder besser geheim gehalten werden sollte: /programming/747008/is-it-good-to-make )

[EDIT 1]

Wie könnte ich die Fluxbox dann sofort sperren (mit xtrlock) und gleichzeitig meine Lieblingsanwendungen starten?

Das Ergebnis wäre: Ich schalte die Box ein, gehe frühstücken, wenn ich zurückkomme, entsperre ich die Box mit meinem Passwort (von xtrlock akzeptiert) und alles ist vorhanden.

Ist es unmöglich oder wie könnte man es tun, um dieses Schema in "edit 1" zu brechen? Stellen Sie sich vor, jemand drückt Strg-C zum richtigen Zeitpunkt, wenn die Fluxbox auftaucht oder was auch immer möglich ist. Oder diese Person könnte die Maus verwenden, um irgendwo in einer Anwendung zu klicken, die gestartet wird, bevor xtrlock dies verhindert.

(Ich bin mir der Tatsache bewusst, dass jemand den Inhalt des Bildschirms sehen könnte, aber das wäre für mich in Ordnung.)

[/ EDIT 1]

Gemeinschaft
quelle
Es wurde geschlossen, weil es nicht mit der Programmierung zusammenhängt (dh es sollte ein
sorry Leute (von stackoverflow), du verschiebst entweder die Frage oder lässt sie offen oder findest etwas Gesundes.
1
Sollte diese Frage nicht auf Super User verschoben und nicht einfach geschlossen bleiben?
Andrew Grimm
welche Distribution?
Warren

Antworten:

6

Ich nehme an, Sie verwenden den GDM-Anmeldemanager. /etc/gdm/gdm.confAktivieren Sie in der Konfigurationsdatei die Autologin-Funktion:

AutomaticLoginEnable=true
AutomaticLogin=karlthorwald

Sie können auch ein Zeitlimit für automatische Anmeldungen definieren. Neustart gdmund voilà!

Sastanin
quelle
Ich habe den Inhalt des Threadstarters überprüft, konnte jedoch nicht feststellen, dass GDM erwähnt wird. Ich würde daher annehmen, dass er nach einem generischen Weg gefragt hat, so dass auch nicht GDM-spezifische Varianten enthalten sein könnten.
Shevy
4

Sie können auch rungetty verwenden. Es wurde speziell als Ersatz entwickelt, der etwas „ausführt“. Sie können es also auf startx einstellen, Fluxbox ausführen und was nicht.

Sybreon
quelle
3

Auf gentoo haben Sie dafür die Datei /etc/conf.d/local.start. Ihre Distribution hat wahrscheinlich eine ähnliche Datei, in der Sie Befehle einrichten können, die beim Start ausgeführt werden sollen.

Dort fügen Sie diese Zeile hinzu:

su -c "startx" $user &

Im Home-Verzeichnis von $ user können Sie die .xinitrc-Datei so einrichten, dass Fluxbox ausgeführt wird, indem Sie dies in der letzten Zeile hinzufügen:

exec startfluxbox

Wenn Sie weitere Programme ausführen müssen, stellen Sie diese in .xinitrc voran. Beachten Sie, dass die exec startfluxbox als letzte ausgeführt werden muss.


quelle
3

Ein debianIch habe ein Skript (nennen wir es autologin.sh), das X11 startet:

su - kit -c "startx &"

Welches wiederum installiert ist über update-rc.d:

sudo update-rc.d autologin.sh defaults 99 1

Ich deaktiviere auch alle Login-Manager wie {k,g,x}dm. Dann ~/.xinitrchätte ich in:

$command 1 &
$command 2 &
x-window-manager
Freiraum
quelle
sollte ich in meinem Fall die letzte Zeile "x-window-manager" durch "exec startfluxbox" ersetzen?
x-window-manager wird vom System verwaltet, um auf den Fenstermanager Ihrer Wahl zu verweisen. Folgen Sie den Symlinks, um dies zu sehen. Sie können es ändern, obwohl ich es nicht tue: Auf diese Weise muss ich beim Installieren eines neuen WM das Skript nicht ändern :) Dadurch können auch alle WM-spezifischen Startskripte ausgeführt werden.
Ich fand heraus, dass autologin.sh in /etc/init.d/
3

Ok, es gibt zahlreiche Antworten für die automatische Anmeldung - dies ist eine Funktion von kdm & gdm oder kann durch explizites Starten von x anstelle eines Display-Managers usw. erfolgen.

Für den Sperrteil gibt es eine Datei, mit der Sie spielen können:

/home/<user>/.fluxbox/startup

Fügen Sie am Anfang der Datei die folgenden Zeilen hinzu:

/usr/bin/xtrlock &
/usr/bin/sleep 5

xtrlock macht mit der Sitzungssperre, was Sie wollen. Das kaufmännische Und bedeutet, dies im Hintergrund zu tun. Fahren Sie mit dem nächsten Befehl fort. Der Ruhezustand hilft sicherzustellen, dass der Bildschirm gesperrt ist, bevor andere Anwendungen gestartet werden.

Beachten Sie, dass die letzte Zeile dieser Startdatei die Zeile ist, in der Fluxbox ausgeführt wird. Dies wird also lange vor dem Start von Anwendungen ausgeführt.

In Bezug auf die Sicherheit glaube ich nicht, dass Sie Strg-C drücken können, um das Problem zu umgehen, aber die Sicherheit ist offensichtlich weniger streng als im vollständigen Anmeldeszenario.

Jim T.
quelle
2

Aus Ihrer Frage schließe ich, dass Sie eine XWindow-Sitzung automatisch starten möchten, nachdem sich jemand über die Konsole angemeldet hat.

Eine Lösung, die für jede Distribution funktioniert, ist die Verwendung des Profils im Benutzerverzeichnis ( Einzelheiten finden Sie im Bash-Referenzhandbuch ). Sie müssen lediglich die Befehle einfügen, die der Benutzer beim Anmelden automatisch ausführen möchte. In Ihrem Fall sollte es ungefähr so ​​sein:

#Start the XWindow session
startx
#Exit the shell once the XWIndow session is done
exit

Nebenbei bemerkt, Sie können immer auf Es gibt immer GDM (oft Teil des Gnome-Pakets), KDM (oft Teil eines KDE-Pakets) oder XDM, die beim Booten automatisch ein X mit einem RC-Skript starten und dann abrufen können Sobald Sie sich angemeldet haben, können Sie sich bei Ihrem bevorzugten Fenstermanager anmelden. GDM und KDM bieten beide die Möglichkeit, einen Benutzer automatisch anzumelden, wenn Sie danach suchen. GDM, KDM und XDM sind vergleichbar mit dem Mac OS X-Anmeldefenster oder dem Microsoft Windows-Anmeldefenster.

Pierre-Luc Simard
quelle
Entschuldigung für meine unklare Frage. Nein, ich suche eine vollständig automatische Protokollierung, ohne einen Benutzernamen oder ein Passwort einzugeben oder eine Taste zu berühren. Entschuldigung für mein schlechtes Englisch.
Dann sollte die Verwendung der .profile-Datei für Sie gut funktionieren. (siehe ersten Teil meiner Antwort)
Pierre-Luc Simard
1

Verwenden Sie die /etc/inittabDatei. Diese Datei erzeugt Login-Shells und möglicherweise einen Display-Manager (wie [GK] DM), wenn Ihr Computer (normalerweise) Runlevel 5 betritt.

Eine Standard-Login-Shell-Zeile sieht folgendermaßen aus:

c1:2345:respawn:/sbin/agetty -8 38400 vc/1 linux

Mit agetty können Sie jedoch Ihr eigenes Anmeldeprogramm angeben. Also durch so etwas ersetzen

c1:2345:respawn:/sbin/agetty -n -l /usr/local/sbin/auto_login 38400 vc/1 linux

Und dann auto_login.c

#include <unistd.h>
int main() {
       execlp( "login", "login", "-f", "your_user_name_here", 0);
}

Verwenden Sie nun Ihr Shells-Startskript, um X wie gewünscht zu starten.

Gnud
quelle