我正在使用具有双启动选项 Windows XP 和 Ubuntu 12.04 的桌面,并且我能够很好地使用这两个系统。
是否有任何选项/方法,以便 Ubuntu 不会直接登录 GUI,而是要求我启动 GUI 或 CLI?有这个设置吗?
答案1
您可以向 GRUB 启动菜单添加一个菜单选项,指定您想要启动到“文本”模式。在启动菜单中,选择 ubuntu 项并按“e”,然后在以“kernel”开头的行末尾添加“text”(它应该像编辑器 GRUB2 一样在 emacs 中跨越 2 行。)按 CTRL+X 启动,您应该会看到它启动而不启动 X 服务器或桌面管理器。但是,这是一个一次性解决方案,下面是在菜单中添加一个选项的解决方案,它可以为您完成此操作。
添加具有以下选项的菜单项:
1)编辑linux条目以启动到文本模式:
以 root 身份在您喜欢的文本编辑器中打开条目(应该是 grub.d 菜单条目目录中的 10_linux)(我的是 gedit,如您在此处所见):
sudo gedit /etc/grub.d/10_linux
然后搜索这个函数“linux_entry()”的定义,这是需要更改的第一件事。编辑这个函数的开头,如下所示:
...
linux_entry ()
{
os="$1"
version="$2"
recovery="$3"
args="$4"
if [ "${recovery}" = "text" ]; then
title="$(gettext_quoted "%s, with Linux %s (text mode)")"
elif ${recovery} ; then
title="$(gettext_quoted "%s, with Linux %s (recovery mode)")"
else
title="$(gettext_quoted "%s, with Linux %s")"
fi
printf "menuentry '${title}' ${CLASS} {\n" "${os}" "${version}"
cat << EOF
recordfail
EOF
if [ "${recovery}" != "text" -a ! ${recovery} ] ; then
save_default_entry | sed -e "s/^/\t/"
cat << EOF
gfxmode \$linux_gfx_mode
EOF
fi
然后向下滚动到该函数的第一次调用(搜索“linux_entry”)并添加以下行:
#Add this line
linux_entry "${OS}" "${version}" "text" \
"text ${GRUB_CMDLINE_LINUX}"
#Above/below this
linux_entry "${OS}" "${version}" false \
"${GRUB_CMDLINE_LINUX} ${GRUB_CMDLINE_EXTRA} ${GRUB_CMDLINE_LINUX_DEFAULT}" \
quiet
(应该位于文件末尾附近。)
添加它会按照它在脚本中显示的顺序将其添加到菜单中,这里它位于之前,只需将其移动到预先存在的行之后,它就不会是默认选择。
2)更新GRUB:
sudo update-grub
3)重新启动后您将会在菜单中看到新的文本条目!