deepin开机进入命令模式及相关设置
Tofloor
poster avatar
老陌
deepin
2018-08-10 16:27
Author
我的主机是deepin 15.6 操作系统,我希望在虚拟机中再安装一台deepin操作系统。 也许大家会认为已经有deepin了,在虚拟机中再装deepin是不是搞笑啊~~~

如果你这样认为,我告诉你:
这是我的自由,自由软件,我喜欢,我愿意!

好吧,不要这么高调,其实我的用意就是把它当成学习的实验基地。老陌还是一个努力学习的小白,害怕在物理主机中把系统弄瘫痪了……
恩恩~~ 其实已经不止一次弄瘫痪了,老陌现在学乖了。 在虚拟的世界,让暴风雨来的再猛烈些吧!!

我主要用来学习命令,因为图形界面在物理主机中学习就可以了。既然学习命令就不考虑图形界面了,但老陌不会deepin的最小化安装(只留命令界面),所以全部安装,但卡的不要不要的, 看来在虚拟的世界中,出来混的,还是要付出代价的。

因为不需要图形界面,我现在急需把图形界面关了,而且开机自动进入命令行,这可怎么办呢?


一、开机进入命令模式
之前在学习低版本的centos时,其中有一个配置文件inittab, 用它可以设置开机进入的模式:

  1. # Default runlevel. The runlevels used are:
  2. #   0 - halt (Do NOT set initdefault to this)
  3. #   1 - Single user mode
  4. #   2 - Multiuser, without NFS (The same as 3, if you do not have networking)
  5. #   3 - Full multiuser mode
  6. #   4 - unused
  7. #   5 - X11
  8. #   6 - reboot (Do NOT set initdefault to this)
Copy the Code

这里有7个运行级别,我们常用的是 3 和 5,一个是多用户命令行模式,一个是图形界面模式。

不过deepin中没有这个文件,看来不同发行版本不一样。在centos 7中也舍弃了这种配置,不同发行版本,不同系统版本…… 唉,我们不一样,我们不一样……

怎么办呢? 都说systemctl大法好,那老陌就通过systemctl命令开启暗黑时代:

1. LEVLE 3
  1. systemctl set-default multi-user.target
Copy the Code

2. LEVEL 5
  1. systemctl set-default graphical.target
Copy the Code

通过测试,果然有效果,开机稳稳的进入了暗黑时代。

查看了一下内存,我靠!!真的没有看错用了88M,看来我分配的2G内存有些杀鸡用牛刀了。 思量再三,修改成512M吧,因为不启用图形界面。

  1. linux@deepin:~$ free -m
  2. total        used        free      shared  buff/cache   available
  3. Mem:           1993          88        1727           1         177        1766
  4. Swap:          2115           0        2115
Copy the Code

嗯,修改完之后,依然很坚挺!

我有一台centos虚拟机,ip地址是: 172.16.18.10 为了更好记忆,我准备把我的deepin设置为172.16.18.11,不过一动手傻了!! 没有图形界面怎么配置啊??

根据centos的经验在/etc/sysconfig/network-scripts中,把配置文件一改就完事了。

我尝试了一下发现根本就没有sysconfig目录,看来不同发行版本不一样啊,什么时候能实现天下大同的伟大人生理想啊!! 小白总是从一个坑里爬出来进入另一个坑里,真的受伤没商量啊!!

受伤了又如何,他说风雨中这点痛算什么,擦干泪,不要怕,继续前行……

二、设置ip地址
经过考察发现deepin用NetworkManager管理网络,但这个老陌不会,所以下面的记录只是片面的东西,目的实现更改IP,上网就可以。等老陌学有所成时,再来细探究竟。

之前在学习deepin图形界面的时候,可以添加一个新连接,设置连接的ipv4地址,估计应该是一个路子,只是把鼠标的操作换成了命令。

1. 显示本地网卡
  1. root@deepin:~# nmcli device status
  2. DEVICE  TYPE      STATE      CONNECTION         
  3. enp0s3  ethernet  connected  Wired connection 1  
  4. lo      loopback  unmanaged  --   
Copy the Code

nmcli网络配置的命令,我猜想:nm应该是NetworkManager的缩写,而cli是command line interface的缩写,不要信以为真,我瞎猜的。

通过查看有两块设备:lo是本机虚拟网卡,enp0s3是物理网卡,类型是enternet,连接名是 Wired connection 1。

2. 删除连接
  1. root@deepin:~# nmcli connection delete Wired\ connection\ 1\  
  2. Connection 'Wired connection 1 ' (91283f7a-1959-4485-9ec9-f43350e843a7) successfully deleted.
Copy the Code

老陌还不会修改这个连接,在网上看到有人直接添加一个新连接,设置ip地址……

那我也效仿他人的方法,添加一个带ip地址的连接不就OK了。之前老陌在图形界面中添加新连接,之后用鼠标按一下新建的连接就可以自动上网了。但这儿没有鼠标,所以老陌想到笨方法,删除原先的连接,之后添加一条新的连接,就只有一条,你还想不工作,嘿嘿!

在删除时发现他的命令都是一层一层的,挺方便。 网络管理 > 连接 > 删除 > 连接名

3. 添加新的连接
  1. nmcli connection  add con-name "my connection" type ethernet  ifname enp0s3  autoconnect  yes ipv4.method  manual ip4 172.16.18.11/24 gw4 172.16.18.1 ipv4.dns 202.98.5.68
  2. Connection 'my connection' (af43d3eb-6e34-40e6-a854-2c140e82ae52) successfully added.
Copy the Code

和上面的命令类似,nmcli的好处是你写完一条命令按table他给你提示,而且也是一层一层的深入:

  • connection 表示对连接操作
  • add 表示添加连接
  • con-name 表示连接名
  • type 表示网络类型
  • ifname 表示接口名(网卡名)
  • autoconnect 是否自动连接
  • ipv4.method 设置为静态连接
  • ip4 添加一个ipv4的地址,后面的/24表示掩码255.255.255.0
  • gw4 添加网关
  • ipv4.dns 表示添加dns


发没发现,和图形界面很像:



4. 激活这个连接
  1. linux@deepin:~$ nmcli  connection  up  "my connection"
  2. Error: Connection activation failed: Not authorized to control networking.
Copy the Code

这个操作相当于用鼠标在图形界面上单击那个连接,进行启用。

三、解决ssh无法用root用户登录问题
上面两个功能已经实现了,现在我在本地deepin中配置服务器连接,登录时提示输入管理员密码,但输入也登录不进去,应该是ssh限制了。

编辑: /etc/ssh/sshd_config配置文件,找到 PermitRootLogin prohibit-password这一行,把注释去掉,后面的prohibit-password去掉,改成PermitRootLogin yes就可以了

四、省一秒是一秒
这台虚拟机应用频率很高,在实验中总有些时候需要重启电脑,每次重启后需要等待5秒,这样浪费了老陌的时间。 这5秒表示等待用户选择要启动的操作系统,如:windows, linux等。

但老陌这台虚拟电脑是用来学习的,直接进入deepin命令行就可以,所以吗,你懂了……

  1. linux@myccloves:~$ cat /etc/default/grub
  2. GRUB_DISABLE_RECOVERY="true"
  3. # Generated by deepin-installer
  4. GRUB_BACKGROUND="/boot/grub/themes/deepin/background.png"
  5. GRUB_CMDLINE_LINUX_DEFAULT="splash quiet"
  6. GRUB_DEFAULT=saved
  7. GRUB_DISTRIBUTOR="`/usr/bin/lsb_release -d -s 2>/dev/null || echo Deepin`"
  8. GRUB_THEME="/boot/grub/themes/deepin/theme.txt"
  9. GRUB_TIMEOUT=5
  10. GRUB_GFXMODE=1920x1080
Copy the Code

我们发现在/etc/default/grub中有很多配置,其中 GRUB_TIMEOUT=5 表示开机等待时间,改成0,之后更新一下grub
  1. update-grub
Copy the Code

重启计算机发现直接进入了deepin命令行界面,很爽。

好吧,终于折腾完了。有人说你瞎折腾啥?

告诉你, 享受的是折腾的过程,收获的是折腾的结果, 但结果有时真的很受伤。




Reply Favorite View the author
All Replies
avatar
whoam1
deepin
2018-08-10 20:19
#1
来波赞
Reply View the author
avatar
VI~TONISEN
deepin
2018-08-10 21:50
#2
人生在于折腾,风不平,浪不静,我自惊涛骇浪
Reply View the author
avatar
老陌
deepin
2018-08-11 14:40
#3

哈哈,程序员点赞了。
Reply View the author
avatar
老陌
deepin
2018-08-11 14:41
#4
https://bbs.deepin.org/post/166993
人生在于折腾,风不平,浪不静,我自惊涛骇浪

生命不息,战斗不止。
Reply View the author
avatar
萨度
deepin
2022-01-25 00:02
#5

好文好文,至少部分的解决了DEEPIN没有最小化安装方式的限制,我想想追问一下,如果想在DOCKER里打deepin的rootfs镜像,deepin有没有类似debian的debootstrap命令可以生成最小化文件系统呢?

Reply View the author