ubuntu下创建自定义终端启动模式

ubuntu下创建自定义终端启动模式

我想知道是否可以在 Ubuntu(11.04)下的 grub 中创建自定义启动菜单项,将系统启动到终端而不是登录屏幕。

效果应该类似于(rescue mode)启动菜单项中的 root shell,它允许我访问 root shell 或权限较低的 shell,而无需明确选择“root shell”。

如果可能的话,我还想自定义启动的 shell,最好是通过指定要运行的 shell 脚本,以便我可以启动 bash 以外的其他程序,例如 vim。

我的目的是创建一个“快速”启动模式,让我在几秒钟内就能拥有一个可用的系统(例如做笔记),而无需启动 GUI。因此,最好silent打开此选项。

笔记:有一个要求:不删除系统现有的任何功能。也就是说,gnome 桌面(和 Unity)应该保持完整,并且只有当我选择此模式时才会被禁用。

答案1

如果我是你的话,我会先在虚拟机或其他设备上测试它(GRUB2 是一个可怕的东西),但根据这篇博文这不应该比改变更难

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash”

GRUB_CMDLINE_LINUX_DEFAULT=”quiet splash text”

在 中/etc/default/grub。这会产生副作用,迫使您运行startx以启动 x。

我发现的另一个解决方案就是简单地gdm从“偏好设置”中的 Ubuntu 服务列表中禁用它。

答案2

这是我能根据一个答案找到的解决问题的最佳方法。

最终的解决方案是:

  1. 创建一个自定义菜单项,/etc/grub.d/40_Custom并将内核选项text打开,以按照我的意愿阻止 gdm 自动启动,从而提高启动速度。
  2. 创建一个权限较低的用户<user name>(我个人选择使用 acl 阻止其访问我的主目录,剥夺其管理权限并使用没人能记住的假密码。)
  3. 编辑/etc/init/tty2.conf以启用自动登录:

    1. 改成exec /sbin/getty -8 38400 tty2exec /sbin/getty -l <path to logon script> -8 38400 tty2
    2. 在文件中<path to logon script>添加以下行:

      #!/bin/sh
      login -f <user name>
      
    3. 执行sudo chown root:root <path to logon script>
    4. 执行sudo chmod 755 <path to logon script>
  4. 如果你想在 tty2 中使用 vim 快速记笔记,那么(如果你不知道 vim 是什么,请跳过)

    1. 安装 vim
    2. 安装笔记.vimvim 插件
    3. 以身份登录<user name>并将以下行添加到~/.bashrc

      vim -c :RecentNotes
      

记得用相应的值替换尖括号中的内容。

相关内容