Wie starte ich die Bash-Shell automatisch beim Öffnen des Terminals oder im Konsolenmodus?

7

Ich erstelle ein normales Benutzerkonto in Ubuntu mit dem Befehl "useradd", aber das Problem ist, dass ich "bash" eingeben muss, um die Bash-Shell für dieses Benutzerkonto sowohl im Konsolenmodus (in einem tty, durch Strg + Alt +) zu starten Fn) und den Remote-Modus (via ssh). Der wichtigste Teil der Bash-Shell ist für mich die automatische Vervollständigung. Meine Frage ist also, wie ich die Bash-Shell automatisch starten kann, wenn ich mich bei dem Konto anmelde.

Ich benutze Ubuntu 13.04 32bit Version. Ich freue mich über jeden Rat!

mikegao88
quelle
Ich denke, die unten vorgeschlagenen Ansätze können Ihre Frage beantworten.
Mikegao88

Antworten:

7

Überprüfen Sie zunächst, ob useraddein Standardwert für angezeigt wird SHELL. Geben Sie dazu Folgendes aus:

useradd -D

Dies gibt ungefähr Folgendes aus:

GROUP=100
HOME=/home
INACTIVE=-1
EXPIRE=
SHELL=/bin/sh
SKEL=/etc/skel
CREATE_MAIL_SPOOL=no

Diese Werte stammen aus /etc/default/useradd. Jetzt haben Sie 2 Lösungen:

  1. Bearbeiten /etc/default/useraddund ändern Sie den Wert von SHELL, oder
  2. Überschreiben Sie den Wert der Shell, wenn Sie einen Benutzer hinzufügen mit: useradd -D -s /bin/bash

Weitere Informationen finden Sie unter man useradd.

Frantique
quelle
2
Alles wahr und alles nützlich, +1, aber es wird dem OP nicht helfen. Dies betrifft nur den nächsten erstellten Benutzer, nicht den bereits vorhandenen.
Terdon
Eine andere Frage: Da ich jetzt ein Benutzerkonto ohne Home-Verzeichnis erstelle, ist das Home-Verzeichnis standardmäßig "/". Wie kann ich das Bash-Profil für dieses Konto noch konfigurieren? Ich meine, für das Benutzerkonto mit Home-Verzeichnis befindet sich sein Bash-Profil im lokalen Verzeichnis (bashrc usw.), aber ich finde eine solche Datei nicht, wenn ich mich mit dem von mir erstellten Konto anmelde. Vielen Dank!
Mikegao88
Funktioniert es, wenn ich die bashrc-Datei nur von einem anderen Konto in das Stammverzeichnis kopiere?
Mikegao88
16

Sie müssen bash wahrscheinlich als Login-Shell für Ihre neuen Benutzer festlegen. Wenn Sie als dieser Benutzer angemeldet sind:

chsh -s /bin/bash

Um es für einen anderen Benutzer zu ändern

sudo chsh -s /bin/bash username

In Zukunft möchten Sie möglicherweise adduseranstelle der niedrigen Ebene verwenden useradd, da standardmäßig bash als neue Anmeldeshell festgelegt wird.

Sie können die Anmeldeshell (unter anderem) überprüfen, indem Sie die Datei / etc / passwd anzeigen oder verwenden

getent passwd username
Steeldriver
quelle
1
Guter Ansatz, +1 von mir!
Frantique
1
Ich finde das auch sehr nützlich, danke für die Antwort!
Mikegao88