mirror of
https://github.com/rancher/os.git
synced 2025-09-24 20:09:21 +00:00
make centos/fedora consoles work by just starting bash
Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au> WIP - dont merge Signed-off-by: Sven Dowideit <SvenDowideit@home.org.au>
This commit is contained in:
@@ -6,6 +6,7 @@ import (
|
||||
"os/exec"
|
||||
"runtime"
|
||||
"strings"
|
||||
"syscall"
|
||||
|
||||
"github.com/codegangsta/cli"
|
||||
"github.com/rancher/os/config"
|
||||
@@ -59,12 +60,36 @@ func autologinAction(c *cli.Context) error {
|
||||
banner = banner + "\n"
|
||||
fmt.Printf(banner)
|
||||
|
||||
cmd = exec.Command("/usr/bin/login", "-f", user)
|
||||
cmd.Stderr = os.Stderr
|
||||
cmd.Stdout = os.Stdout
|
||||
cmd.Stdin = os.Stdin
|
||||
if err := cmd.Run(); err != nil {
|
||||
log.Error(err)
|
||||
loginBin := ""
|
||||
args := []string{}
|
||||
if cfg.Rancher.Console == "Acentos" || cfg.Rancher.Console == "Afedora" {
|
||||
// For some reason, centos and fedora ttyS0 and tty1 don't work with `login -f rancher`
|
||||
// until I make time to read their source, lets just give us a way to get work done
|
||||
loginBin = "bash"
|
||||
args = append(args, "--login")
|
||||
|
||||
} else {
|
||||
loginBin = "login"
|
||||
args = append(args, "-f", user)
|
||||
}
|
||||
return nil
|
||||
|
||||
loginBinPath, err := exec.LookPath(loginBin)
|
||||
if err != nil {
|
||||
fmt.Printf("error finding %s in path: %s", cmd.Args[0], err)
|
||||
return err
|
||||
}
|
||||
os.Setenv("PS1", `[`+cfg.Rancher.Console+`: \l \u@\h \W]\$`)
|
||||
|
||||
return syscall.Exec(loginBinPath, args, os.Environ())
|
||||
|
||||
// cmd = exec.Command(loginBinPath, args...)
|
||||
// cmd.Env = os.Environ()
|
||||
|
||||
// cmd.Stderr = os.Stderr
|
||||
// cmd.Stdout = os.Stdout
|
||||
// cmd.Stdin = os.Stdin
|
||||
// if err := cmd.Run(); err != nil {
|
||||
// log.Errorf("\nError starting %s: %s", cmd.Args[0], err)
|
||||
// }
|
||||
// return nil
|
||||
}
|
||||
|
Reference in New Issue
Block a user