linux控制台(ubuntu控制台怎么打开)
请问:linux的控制台是干啥的,有什么作用和价值,谢谢啦
Linux虚拟控制台
Linux是一个真正的多用户操作系统,它可以同时接受多个用户登录。Linux还允许一个用户进行多次登录,这是因为Linux和UNIX一样,提供了虚拟控制台的访问方式,允许用户在同一时间从控制台进行多次登录。虚拟控制台的选择可以通过按下Alt键和一个功能键来实现,通常使用F1-F6例如,用户登录后,按一下Alt-F2键,用户又可以看到"login:"提示符,说明用户看到了第二个虚拟控制台。然后只需按Alt-F1键,就可以回到第一个虚拟控制台。一个新安装的Linux系统默认允许用户使用Alt-F1到Alt-F6键来访问前六个虚拟控制台。虚拟控制台可使用户同时在多个控制台上工作,真正体现Linux系统多用户的特性。用户可以在某一虚拟控制台上进行的工作尚未结束时,切换到另一虚拟控制台开始另一项工作。
终端, Shell,“ tty”和控制台( console)有什么区别
在Linux下,终端、Shell、tty和控制台(console)是相关但不完全相同的概念:
终端(Terminal):
在图形用户界面(GUI)下,终端是一个模拟文本界面的程序,用户可以在其中输入命令并查看命令的输出。
例如,在Ubuntu中,你可以打开GNOME终端或者其他终端仿真器。
终端提供了一个与Shell交互的界面。
Shell:
Shell是一个命令解释器,负责解释用户输入的命令并执行相应的操作。
在Linux中,常见的Shell有Bash、Zsh、Ksh等。
当你在终端中键入命令时,实际上是在与Shell进行交互。
tty:
tty是“teletypewriter”的缩写,它最初是指早期的终端设备,如电传打字机。
在现代Linux系统中,tty代表终端设备,每个终端或终端仿真器都与一个tty设备相关联。
当你在系统中打开一个终端时,会分配一个tty设备用于该终端的输入和输出。
控制台(Console):
控制台是指物理或虚拟的文本界面,通常用于系统引导和紧急维护。
在Linux系统中,你可以通过按下Ctrl+Alt+F1到F6切换到不同的控制台。
控制台通常与tty设备相关联,但是它们不同于终端仿真器,因为它们不依赖于图形用户界面。简而言之,终端提供了一个用户与Shell交互的界面,而tty代表终端设备,控制台则是物理或虚拟的文本界面。在终端中,你通过Shell与系统进行交互,而tty则是实际处理输入输出的设备,控制台则是提供文本界面的地方。
LINUX控制台怎么定向到串口终端
利用串口终端作为Linux控制台,可以免去额外的键盘,显示卡和显示器,同时可将Linux主机作为一个任意用途的嵌入式黑匣。那么LINUX控制台怎么定向到串口终端?下面跟着学习啦小编一起来了解一下吧。
LINUX控制台怎么定向到串口终端
目的:台机已经装好Linux,显示器有问题,平时一般都SSH控制,当Linux网络挂的时候,想通过串口来管理。
硬件:台机自带两个串口(上面的是COM1)[under Windows] or ttyS0[under Linux)),笔记本T61p没有串口,买了个USB转串口(具体见下图)。同时需要串口交叉线一根(NULL modem Cable),母对母(公的是针),都是凹口那种。
目标机器:安装的CentOS 5.2 Linux内核2.6.18-92.1.22.el5和2.6.18-92.1.22.el5xen
客户端: Windows XP SP3 IBM OEM.安装USB转串口驱动。
需要把输出定向到串口,一般有下面几处:
BIOS中的设置
GRUB设置
/etc/inittab设置
/etc/securetty设置
BIOS中的设置
BIOS设置的作用我没尝试过,如果是可以连BIOS设置都可以定向到串口,那个强大了。也不知道如何去掉机器需要连键盘的限制。没拿出显示器所以没看我台机的BIOS,不过这个功能一般只有服务器级别的机器有。【注1】台机一般没有串口重定向功能。
GRUB设置
这里的配置是为了把grub菜单定向到串口,这样你就可以在串口操作grub,选择启动项,使用single mode等等。
同时也要给kernel参数加上console选项。
[root@CentOS5~]# cat/boot/grub/menu.lst
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a/boot partition. This means that
# all kernel and initrd paths are relative to/boot/, eg.
# root(hd0,0)
# kernel/vmlinuz-version ro root=/dev/vg00/lv_root
# initrd/initrd-version.img
#boot=/dev/hdb1
serial--unit=0--speed=9600--word=8--parity=no--stop=1
terminal--timeout=10 serial console
default=2
timeout=20
#splashimage=(hd0,0)/grub/splash.xpm.gz=>这些在console下会工作不正常,注释掉。
#hiddenmenu
title CentOS(2.6.18-92.1.22.el5)
root(hd0,0)
kernel/vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root rhgb quiet
initrd/initrd-2.6.18-92.1.22.el5.img
title CentOS Serial[ttyS0]- Console(2.6.18-92.1.22.el5)
root(hd0,0)
kernel/vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=ttyS0,9600 console=tty0
initrd/initrd-2.6.18-92.1.22.el5.img
title CentOS Console- serial[ttyS0](2.6.18-92.1.22.el5) [get more output in serial console]
root(hd0,0)
kernel/vmlinuz-2.6.18-92.1.22.el5 ro root=/dev/vg00/lv_root console=tty0 console=ttyS0,9600
initrd/initrd-2.6.18-92.1.22.el5.img
title CentOS Xen(2.6.18-92.1.22.el5xen)
root(hd0,0)
kernel/xen.gz-2.6.18-92.1.22.el5
module/vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root rhgb quiet xencons=off
module/initrd-2.6.18-92.1.22.el5xen.img
title CentOS Xen Serial[ttyS0]- Console(2.6.18-92.1.22.el5xen)
root(hd0,0)
kernel/xen.gz-2.6.18-92.1.22.el5
module/vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=ttyS0,9600 console=tty0
module/initrd-2.6.18-92.1.22.el5xen.img
title CentOS Xen Console- serial[ttyS0](2.6.18-92.1.22.el5xen)
root(hd0,0)
kernel/xen.gz-2.6.18-92.1.22.el5
module/vmlinuz-2.6.18-92.1.22.el5xen ro root=/dev/vg00/lv_root xencons=off console=tty0 console=ttyS0,9600
module/initrd-2.6.18-92.1.22.el5xen.img
title Other
rootnoverify(hd0,0)
chainloader+1
后面的console有顺序关系,详见下文【注2】,我常用串口所以console=tty0 console=ttyS0,9600这个顺序的输出信息比较多。
因为我的机器有xen的内核,xen默认情况下会把串口做为xencons,所以这里设置xencons=off.
When multiple consoles are listed output is sent to all consoles and input is taken from the last listed console. The last console is the one Linux uses as the/dev/consoledevice.
/etc/inittab设置
系统系统后,需要在串口上监听请求,所以要有个类似服务器的程序(agetty, mgetty etc)。
/etc/inittab中添加
s0:2345:respawn:/sbin/agetty-L-f/etc/issue.serial 9600 ttyS0 vt100
#s1:2345:respawn:/sbin/agetty-L-f/etc/issue.serial 9600 ttyS1 vt100
#S0:2345:respawn:/sbin/mgetty-r-x 9 ttyS0==> mgetty用来调试比较好,log也丰富。
What is a getty?
A getty is is a program that opens a tty port, prompts for a login name, and runs the/bin/login command. It is normally invoked by init.
所以其他程序就不能再来占用ttyS0了,串口是独占模式的吧。
vt100:
vt100 is the terminal emulation. You can use others, but VT100 is the most common or"standard". Another widely used termial type is VT102.
OK都可以了,可以重启server了。这里如果想测试下串口线,推荐先在Linux启动下mgetty,因为他的debug信息和log比较丰富,适合排错和测试。
#mgetty–r–x 9 ttyS0
Log在/var/log/mgetty*中。
/etc/securetty设置
因为一般我们都是使用root登陆串口来维护,所以需要设置root可以在COM1和COM2登陆。
在/etc/securetty中添加:
ttyS0
ttyS1
Windows客户端连接可以用超级终端或者Putty。
注意启动server的时候,putty就应该去连接串口了,这样才可以看到所有信息。
本来正常情况下,接下去kernel的boot信息应该也会打到串口的。但是没有,确定是Xen内核的关系。
系统启动起来后,过了init,agetty就起来了,这个时候就可以通过串口登陆了。(在/etc/securetty中需要添加ttyS0)
看过“ LINUX控制台怎么定向到串口终端”的人还看了: