linux 文字linux图形界面命令如何使用命令连接无限网络

linux 文字界面如何使用命令连接无限网络_百度知道
linux 文字界面如何使用命令连接无限网络
baidu://e.jpg" />我按网上做法 .jpg" esrc="/zhidao/wh%3D600%2C800/sign=6ebb6c56bd096bc03ab7c//zhidao/pic/item/8b82ba12b31bb151ed83./zhidao/wh%3D450%2C600/sign=0f9d927a8444ebf86d246c3becc9fb1c/8b82ba12b31bb151ed83.jpg" target="_blank" title="点击查看大图" class="ikqb_img_alink"><img class="ikqb_img" src="http://e.baidu://e.hiphotos<a href="http
你根本就没安装这个包,所以找不到命令先安装wireless-tools
我没网络怎么装?
其他类似问题
为您推荐:
linux的相关知识
等待您来回答
下载知道APP
随时随地咨询
出门在外也不愁下次自动登录
现在的位置:
& 综合 & 正文
ubuntu设置开机默认进入字符界面方法
ubuntu 12.04 桌面版关闭图形界面
注意]改GRUB 的配置文件(不建议直接改 grub.conf)
file:/etc/default/grub
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
GRUB_CMDLINE_LINUX_DEFAULT="text"
保存后 sudo update-grub 重启即可
在ubuntu10.04版本一下的系统中: 方法:
sudo vim /etc/default/grub
找到这一行:GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
改为:GRUB_CMDLINE_LINUX_DEFAULT="text "或者"quiet splash text"
保存后sudo update-grub 重启即可。
note:quiet的意思是内核启动时候简化提示信息
splash的意思是启动的时候使用图形化的进度条代替init的字符输出过程 ===========================================================================================在ubuntu10.04以上版本中:方法1:
Ubuntu安装后默认的run level为2 也就是默认为图形界面启动
Ubuntu之所以能直接启动到图形界面,是由于运行gdm所致。所以,只要把gdm的启动脚本禁用就可以了,方法就是把文件名的第一个字母S改成K:
cd /etc/rc2.d
sudo mv S30gdm K30gdmnote:此方法不适用于11.10 方法2:
ubuntu兼容inittab,所以新建一个/etc/inittab文件
id:3:initdefault:
进入到/etc/rc3.d/中,看看gdm的启动脚本文件名:
ls -l *gdm
如果是以S打头的,把文件名改成以K打头
============================================================================================ 从字符界面进入图形界面的方法:startx
即启动X Window
无论你想要在ubuntu 12.04(11.10适用)开机启动图形,或者非图形程序,相信这篇能帮上大忙。
我将根据我的需求讲解我的做法,并解释为什么这么做。完了以后,各位看官根据自己的需求不加修改或稍加修改即可适用。我这边,总得来说,需求是做一个RDP瘦客户端,在一个板子上装上ubuntu 12.04,然后要这个系统启动后能立即弹出RDPclient登录框,而不是进入ubuntu的图形桌面。
二,三部分讲解我是怎么做的,四部分总结设置程序为开机启动的方法,五部分主要针对需要把图形界面程序弄成开机启动的同学,讲解startx。
第六部分为后来补充的:如何关闭ubuntu的启动时载入画面(“loading screen”)。
二、阻止默认图形桌面启动
ubuntu 12.04默认的开机会进入一个图形界面,用命令pstree可以看到图形界面所在的进程树:
首先要做的,就是阻止这个lightdm的进程开机启动。 做法:
一、查看文件/etc/init/rc-sysinit.conf,在第14行附近:确认“env DEFAULT_RUNLEVEL=2”。2是新装系统默认的,确保不被修改。
二、编辑文件 /etc/init/lightdm.conf,在第12行附近,原句“ and runlevel [!06]” 改为“ and runlevel [!026]”。
解释:linux系统都有一个运行级别(runlevel)的概念,不同的运行级别配置将导致系统的启动过程有很大差异,比如当配置 runlevel 为 1 是,是不进入图形界面的。系统启动过程中会有一个init进程来拉起许多其他进程(各种系统服务,窗口界面)。在ubuntu上(11.10,12.04是这样,其他版本或其他linux发行版不确定)init会执行两个目录下的脚本,一个是/etc/init/下的,另一个是/etc/rc?.d/下的,问号可能是0~6的其中一个数字,代表运行级别。接下来,讲解一下流程以加深理解。
在ubuntu上,init进程首先执行/etc/init/目录下的rc-sysinit.conf,这个文件指明了本次启动的默认运行级别。这是上面第一步的意义:确保默认运行级别是2。接下来目录/etc/init下的其他脚本的执行都会根据不同的运行级别做出不同的动作,比如lightdm会判断运行级别是否处于1,2,3,4,5中的一个,是则启动lightdm,不是则不启动lightdm。这便是上面第二步的意义,修改 lightdm.conf
,把“2”加入到判断语句,使得lightdm在运行级别2的时候不要启动。明白了这些,你就可以灵活一点,例如把默认级别设置为3,而把3加入那个判断语句,也可以达到阻止lightdm启动的效果。完成了/etc/init/目录下的启动动作,init 进程会继续执行/etc/rc2.d目录下的脚本。
三、设置自己的程序为开机启动
阻止了lightdm的启动之后,还要做的就是把我的RDPClient设置为开机启动。做法:
一、在目录/usr/bin下,有个文件startx,在当前目录复制出一份来,命名为mystartx(cp startx mystartx)。编辑mystartx,在文件末尾有一行“xinit "$client" $clientargs -- "$server" $display $serverargs”,在这一行的前面加入一行"client="/root//myRdpClient/myRdpClient.py"。
二、编辑文件/etc/rc.local,在"exit 0"前添加一行:/usr/bin/mystartx。
解释:第一步里,我制作了一个启动RDPClient的脚本,第二步里,我把这个脚本设置为开机启动。制作RDPClient或其他图形应用程序的启动脚本请看本文的第五部分,第四部分讲解开机启动的方法和注意事项。
四、添加开机启动程序的方法及其注意事项
对于开机启动程序,需要关注4个地方(排序有分先后):1.目录 /etc/init/ 下的所有conf都会被init进程首先执行。2.运行级别为2的时候,目录 /etc/rc2.d/ 下的所有脚本会其次执行,其他运行级别雷同。3.文件/etc/rc.local里的命令会得到执行。4.在文件/etc/crontab里面配置为@reboot的命令会得到执行。
以下分别讲解每个地方该怎么做。
1.在/etc/init/目录下添加开机启动程序的方法。该目录下新建文件myrdpclient.conf。将下面的内容拷贝至文件保存即可。
start on login-session-start
/usr/bin/mystartx
end script
这样init进程就会启动的时候执行/usr/bin/mystartx。之前我解释运行级别(runlevel)的时候,说这个目录下的是脚本,是不想在那个地方废话。其实,这个目录下的 .conf 文件是供init进程读取的配置文件,每个配置文件的内容包含两个内容,一是一段脚本在告诉init要启动哪个程序,即指定一个job,或者说任务;二是一些标签(如“start on”)表明这个程序在什么时候启停。首先被读取执行的是rc-sysinit.conf。关于具体该如何写一个conf文件来让init在适当的时候运行某个程序请自行搜索,我给出个这个配置是个非常简单的配置,如果你需求不多的话,把/usr/bin/mystartx
替换为你的程序就够了。
2.在/etc/rc2.d目录下添加开机启动程序的方法。执行命令:
ln -s /usr/bin/mystartx
./S99mystartx
这个命令将会该目录下建立一个指向/usr/bin/mystartx 的链接,这样init在启动时就会执行这个链接指向的命令。那个S99打头的命名规则,我其实不清楚其意义是什么,大约是在标明启动优先级。总之,你只需要将/usr/bin/mystartx替换为你想要执行的命令(你的程序),同时链接的名字以"S99"为前缀即可。
3.在/etc/rc.local文件里添加启动程序,在“exit 0”之前写上你的命令就可以了,我正是这么做的。
4.在文件/etc/crontab里添加开机启动程序,编辑该文件,在文件末尾添加一行:
/usr/bin/mystartx
这样你的程序会被一个叫 cron 的例程拉起(而不是 init ),实际上,是 init 在启动过程中启动啦 cron 例程,而 cron 例程通常在系统中做一些定时作业,通过配置也可以让 cron 在启动时做一些作业。
所以,如果你要添加自己的开机启动程序,以上四个地方都可以,其中要大家注意的几点:
一、前两种方法可能是不稳妥的,因为这两个阶段是系统启动阶段,你添加的程序若对系统某些服务有依赖,将导致你的程序出现错误,比如我的RDPclient会出现段错误。
二、第三种方法,添加到/etc/rc.local里面,是网上出现最多的答案,这也是我采用的方法。。事实上,rc.local是系统特地为用户提供的一个添加开机启动程序的接口。需要注意的是,并非每个运行级别都会运行rc.local,在ubuntu里只有2,3,4,5运行级别会执行,所以如果运行级别设置不对的话,你写在rc.local里的命令可能就不能如期执行了。如果你对rc.local如何被执行感兴趣的话读下面。实际上运行rc.local是rc2.d目录下所有脚本中的最后一个脚本。接下来证明这点,可以在rc2.d目录下执行命令:ls
S99rc.local -& ../init/rc.local
可以看到,rc2.d目录下的S99rc.local是一个到 /etc/init.d/rc.local 的链接,运行 S99rc.local 就是在运行 /etc/init.d/rc.local ,而打开这个文件发现里面的注释:
# Default-Start:
# Default-Stop:
# Short-Description: Run /etc/rc.local if it exist
实际上,就是在运行 /etc/rc.local 。所以,执行rc2.d目录下的所有脚本,最后一步,就是执行 /etc/rc.local 。其中的注释同样表明了只有2、3、4、5运行级别会执行rc.local,这是因为,只有在2、3、4、5对应的 /etc/rc?.d 目录才有运行 rc.local 的链接。
五、制作图形应用程序启动脚本
对于要开机启动非图形界面的同学来说,事情是非常简单的,在rc.local里添加你的命令即可(或者使用第四部分的其他方法)。之前的阻止lightdm启动你都不需要做,做了也无妨。至于运行级别,你没动过的话应该是2,是ok的。
对于要启动图形化界面的同学,要知道为什么我在startx里面添加一行,设置为开机启动,同时屏蔽lightdm的启动,就可以达到目的,可能还需要进一步的说明。
在linux里,要运行图形界面,需要同时有 X server(或者叫X11 server,"11"是当前的版本号), 和X client,这是 x windows 工作的模式(据说以后会改成wayland什么的,那是后话)。X server在目录 /etc/X11 下,X server启动后的进程名字叫 Xorg ,如果你的系统启动了图形桌面。那么运行命令 pstree 一定可以看到Xorg,正如我在第一部分的贴图里显示,在那里,Xorg
是被 lightdm 拉起来的。
所以,如果ubuntu系统要跑图形程序,不管是它的默认图形桌面lightdm,还是我的RDPClient,都必须先启动 X server(Xorg),再启动图形程序作为X client。没有修改过的ubuntu的图形桌面就是这样启动的,从图中你可以看到它先启动了Xorg,再启动了自己的一大堆metacity什么的。那么,我现在阻止了lightdm的启动,要运行RDPCLient,也同样要分两步:一、启动X server,二、启动RDPClient(作为X
这看起来真难,因为我其实也不知道如何启动X server。但是在 /usr/bin 下有一个脚本叫 startx 。这个脚本是个历史遗留脚本,在过去的ubuntu,或者现在某些其发行版本linux,是这个脚本负责启动默认的图形桌面的。它会做两件事,一、启动X11server,二,启动图形桌面作为 X client。我可以拿这个脚本稍作修改,替换掉其中的图形桌面为我的RDPClient就可以了,具体做法在第二部分。
为什么我不修改lightdm.conf来达到目的?lightdm也是做了两件事,不是也可以替换它的X client为我的X client就可以了么?也许这样是可以的,但是,lightdm.conf那个脚本,哥们儿,你去看看吧,我反正下不了手。反观startx,startx的启动逻辑是非常清晰的,它通过执行了一个 xinit 命令来同时启动X server 和 X client,建议你使用命令“man xinit” 查看xinit的相关内容。修改startx来达到目的比较容易,这就是为什么我不修改lightdm。
总结,阻止lightdm启动默认桌面,通过修改startx来制作一个脚本mystartx以启动X server和我的RDPClient,把mystartx搞成开机启动。这是这样!
六、关闭Ubuntu的载入画面
ubuntu启动时,会有一个ubuntu字样出现在屏幕,文字下方有闪烁的点,这时按ESC可以在动画和文字界面之间切换。这一步骤不属于lightdm,而是一个叫 plymouth 的进程在起作用。实际上,plymouth的意义就在于,在开机到图形桌面 (lightdm)起来这段时间里展示出一个动画,从而提高用户体验。
屏蔽的方法:
一、编辑 /etc/default/grub 文件,原文11行附近:
GRUB_CMDLINE_LINUX_DEFAULT="quiet splash"
去掉”splash“,改后:
GRUB_CMDLINE_LINUX_DEFAULT="quiet"
二、执行命令:
sudu updat-grub
重启,即可看到,不再有载入画面出现了。
&&&&推荐文章:
【上篇】【下篇】Linux 的启动流程 - 阮一峰的网络日志
Linux 的启动流程
半年前,我写了,探讨BIOS和主引导记录的作用。
那篇文章不涉及操作系统,只与主板的板载程序有关。今天,我想接着往下写,探讨操作系统接管硬件以后发生的事情,也就是操作系统的启动流程。
这个部分比较有意思。因为在BIOS阶段,计算机的行为基本上被写死了,程序员可以做的事情并不多;但是,一旦进入操作系统,程序员几乎可以定制所有方面。所以,这个部分与程序员的关系更密切。
我主要关心的是Linux操作系统,它是目前服务器端的主流操作系统。下面的内容针对的是发行版,因为我对其他发行版不够熟悉。
第一步、加载内核
操作系统接管硬件以后,首先读入 /boot 目录下的内核文件。
以我的电脑为例,/boot 目录下面大概是这样一些文件:
  $ ls /boot
  config-3.2.0-3-amd64
  config-3.2.0-4-amd64
  initrd.img-3.2.0-3-amd64
  initrd.img-3.2.0-4-amd64
  System.map-3.2.0-3-amd64
  System.map-3.2.0-4-amd64
  vmlinuz-3.2.0-3-amd64
  vmlinuz-3.2.0-4-amd64
第二步、启动初始化进程
内核文件加载以后,就开始运行第一个程序 /sbin/init,它的作用是初始化系统环境。
由于init是第一个运行的程序,它的进程编号(pid)就是1。其他所有进程都从它衍生,都是它的子进程。
第三步、确定运行级别
许多程序需要开机启动。它们在Windows叫做"服务"(service),在Linux就叫做""(daemon)。
init进程的一大任务,就是去运行这些开机启动的程序。但是,不同的场合需要启动不同的程序,比如用作服务器时,需要启动Apache,用作桌面就不需要。Linux允许为不同的场合,分配不同的开机启动程序,这就叫做""(runlevel)。也就是说,启动时根据"运行级别",确定要运行哪些程序。
Linux预置七种运行级别(0-6)。一般来说,0是关机,1是单用户模式(也就是维护模式),6是重启。运行级别2-5,各个发行版不太一样,对于Debian来说,都是同样的多用户模式(也就是正常模式)。
init进程首先读取文件 /etc/inittab,它是运行级别的设置文件。如果你打开它,可以看到第一行是这样的:
  id:2:initdefault:
initdefault的值是2,表明系统启动时的运行级别为2。如果需要指定其他级别,可以手动修改这个值。
那么,运行级别2有些什么程序呢,系统怎么知道每个级别应该加载哪些程序呢?......回答是每个运行级别在/etc目录下面,都有一个对应的子目录,指定要加载的程序。
  /etc/rc0.d
  /etc/rc1.d
  /etc/rc2.d
  /etc/rc3.d
  /etc/rc4.d
  /etc/rc5.d
  /etc/rc6.d
上面目录名中的"rc",表示run command(运行程序),最后的d表示directory(目录)。下面让我们看看 /etc/rc2.d 目录中到底指定了哪些程序。
/etc/rc2.d
  README
  S01motd
  S13rpcbind
  S14nfs-common
  S16binfmt-support
  S16rsyslog
  S16sudo
  S17apache2
  S18acpid
可以看到,除了第一个文件README以外,其他文件名都是"字母S+两位数字+程序名"的形式。字母S表示Start,也就是启动的意思(启动脚本的运行参数为start),如果这个位置是字母K,就代表Kill(关闭),即如果从其他运行级别切换过来,需要关闭的程序(启动脚本的运行参数为stop)。后面的两位数字表示处理顺序,数字越小越早处理,所以第一个启动的程序是motd,然后是rpcbing、nfs......数字相同时,则按照程序名的字母顺序启动,所以rsyslog会先于sudo启动。
这个目录里的所有文件(除了README),就是启动时要加载的程序。如果想增加或删除某些程序,不建议手动修改 /etc/rcN.d 目录,最好是用一些专门命令进行管理(参考和)。
第四步、加载开机启动程序
前面提到,七种预设的"运行级别"各自有一个目录,存放需要开机启动的程序。不难想到,如果多个"运行级别"需要启动同一个程序,那么这个程序的启动脚本,就会在每一个目录里都有一个拷贝。这样会造成管理上的困扰:如果要修改启动脚本,岂不是每个目录都要改一遍?
Linux的解决办法,就是七个 /etc/rcN.d 目录里列出的程序,都设为链接文件,指向另外一个目录 /etc/init.d ,真正的启动脚本都统一放在这个目录中。init进程逐一加载开机启动程序,其实就是运行这个目录里的启动脚本。
下面就是链接文件真正的指向。
  $ ls -l /etc/rc2.d
  README
  S01motd -> ../init.d/motd
  S13rpcbind -> ../init.d/rpcbind
  S14nfs-common -> ../init.d/nfs-common
  S16binfmt-support -> ../init.d/binfmt-support
  S16rsyslog -> ../init.d/rsyslog
  S16sudo -> ../init.d/sudo
  S17apache2 -> ../init.d/apache2
  S18acpid -> ../init.d/acpid
这样做的另一个好处,就是如果你要手动关闭或重启某个进程,直接到目录 /etc/init.d 中寻找启动脚本即可。比如,我要重启Apache服务器,就运行下面的命令:
  $ sudo /etc/init.d/apache2 restart
/etc/init.d 这个目录名最后一个字母d,是directory的意思,表示这是一个目录,用来与程序 /etc/init 区分。
第五步、用户登录
开机启动程序加载完毕以后,就要让用户登录了。
一般来说,用户的登录方式有三种:
  (1)命令行登录
  (2)ssh登录
  (3)图形界面登录
这三种情况,都有自己的方式对用户进行认证。
(1)命令行登录:init进程调用getty程序(意为get teletype),让用户输入用户名和密码。输入完成后,再调用login程序,核对密码(Debian还会再多运行一个身份核对程序/etc/pam.d/login)。如果密码正确,就从文件 /etc/passwd 读取该用户指定的shell,然后启动这个shell。
(2)ssh登录:这时系统调用sshd程序(Debian还会再运行/etc/pam.d/ssh
),取代getty和login,然后启动shell。
(3)图形界面登录:init进程调用显示管理器,Gnome图形界面对应的显示管理器为gdm(GNOME Display Manager),然后用户输入用户名和密码。如果密码正确,就读取/etc/gdm3/Xsession,启动用户的会话。
第六步、进入 login shell
所谓shell,简单说就是命令行界面,让用户可以直接与操作系统对话。用户登录时打开的shell,就叫做login shell。
Debian默认的shell是,它会读入一系列的配置文件。上一步的三种情况,在这一步的处理,也存在差异。
(1)命令行登录:首先读入 /etc/profile,这是对所有用户都有效的配置;然后依次寻找下面三个文件,这是针对当前用户的配置。
  ~/.bash_profile
  ~/.bash_login
  ~/.profile
需要注意的是,这三个文件只要有一个存在,就不再读入后面的文件了。比如,要是 ~/.bash_profile 存在,就不会再读入后面两个文件了。
(2)ssh登录:与第一种情况完全相同。
(3)图形界面登录:只加载 /etc/profile 和 ~/.profile。也就是说,~/.bash_profile 不管有没有,都不会运行。
第七步,打开 non-login shell
老实说,上一步完成以后,Linux的启动过程就算结束了,用户已经可以看到命令行提示符或者图形界面了。但是,为了内容的完整,必须再介绍一下这一步。
用户进入操作系统以后,常常会再手动开启一个shell。这个shell就叫做 non-login shell,意思是它不同于登录时出现的那个shell,不读取/etc/profile和.profile等配置文件。
non-login shell的重要性,不仅在于它是用户最常接触的那个shell,还在于它会读入用户自己的bash配置文件 ~/.bashrc。大多数时候,我们对于bash的定制,都是写在这个文件里面的。
你也许会问,要是不进入 non-login shell,岂不是.bashrc就不会运行了,因此bash 也就不能完成定制了?事实上,Debian已经考虑到这个问题了,请打开文件
~/.profile,可以看到下面的代码:
  if [ -n "$BASH_VERSION" ]; then
    if [ -f "$HOME/.bashrc" ]; then
      . "$HOME/.bashrc"
    fi
上面代码先判断变量 $BASH_VERSION 是否有值,然后判断主目录下是否存在 .bashrc 文件,如果存在就运行该文件。第三行开头的那个点,是source命令的简写形式,表示运行某个文件,写成"source ~/.bashrc"也是可以的。
因此,只要运行~/.profile文件,~/.bashrc文件就会连带运行。但是上一节的第一种情况提到过,如果存在~/.bash_profile文件,那么有可能不会运行~/.profile文件。解决这个问题很简单,把下面代码写入.bash_profile就行了。
  if [ -f ~/.profile ]; then
    . ~/.profile
这样一来,不管是哪种情况,.bashrc都会执行,用户的设置可以放心地都写入这个文件了。
Bash的设置之所以如此繁琐,是由于历史原因造成的。早期的时候,计算机运行速度很慢,载入配置文件需要很长时间,Bash的作者只好把配置文件分成了几个部分,阶段性载入。系统的通用设置放在 /etc/profile,用户个人的、需要被所有子进程继承的设置放在.profile,不需要被继承的设置放在.bashrc。
顺便提一下,除了Linux以外, Mac OS X 使用的shell也是Bash。但是,它只加载.bash_profile,然后在.bash_profile里面调用.bashrc。而且,不管是ssh登录,还是在图形界面里启动shell窗口,都是如此。
[1] Debian Wiki,
[2] Debian Wiki,
[3] Debian Administration,
[4] Debian Admin,
[5] Linux Information Project (LINFO),
[6] LinuxQuestions.org,
[7] Dalton Hubble,
《计算机原理》课本说,启动时,主引导记录会存入内存地址0x7C00。
函数式编程有一个重要概念,叫做Monad。
源码要运行,必须先转成二进制的机器码。这是编译器的任务。
1992年,美国佐治亚州的WEB Technology公司,宣布做出了重大的技术突破。}

我要回帖

更多关于 linux图形界面命令 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信