ArchLinux+lightdm+Openbox+Chromium定制单功能用途电脑

news/2024/11/25 3:07:26/

前言:

最近折腾Linux上瘾了,上一篇使用CentOS 7+lightdm+Openbox+Chromium打造单功能用途电脑(大屏展示电脑)搞完之后感觉还是受限于CentOS底层设计本身就是当服务器用的,所以启动速度并不是特别理想,还是想找个更轻量的底层系统解决方案.虽然之前也折腾过不少次TinyCoreLinux,不过tcz库里面的可以直接拿来用的包真是少得可怜,而且不同版本之间还不通用,想换个桌面环境都很捉急,也就跑点简单的服务还凑活.

回到下面要开始实验的主角:ArchLinux,其实这个发行版老早以前就玩耍过了,当时也是看有很多"软文"各种安利ArchLinux有多好多好,经过N次尝试挑战+N次半途而废,这货一点都不友好好吧~最基本的系统安装连个GUI界面都尼玛没有,啥都得自己撸代码搞.好吧~我承认上次撸代码装Linux已经是10年前在学校宿舍的故事了,现在随便一个发行版都会自带图形界面安装向导了,最不济的也得是个TUI向导,显然这也把人都给惯懒了...

讲真,这次撸完ArchLinux的感觉就像当年终于耐着性子看权利的游戏前两集一样,果然那么多人都说好的东西不是没有道理的.一旦 熟耐着性子坚持两集后根本就停不下来了.ArchLinux这货确实有过人之处,基本上感觉系统安装过程就是像堆积木一样,虽然过程是麻烦了点,但是保证完全是可以按照你的想法量身打造,不带一点肥肉的精瘦系统,再加上无比强大的官方repo满足你的一切想象,用来打造单功能用途PC简直不能再合适了!

ok,闲聊结束,还是在VirtualBox里面,开始撸~

1.分区

# cfdisk

选dos(MBR)分区表类型

分两个区,一个swap,一个挂/,记得把挂/的分区设置为bootable

格式化分区

# mkswap /dev/sda1
# mkfs.ext4 /dev/sda2

挂载分区

# mount /dev/sda2 /mnt

2.配置网络

使用netctl+配置文件

# ifconfig   //先查看链接名称,例如enp0s3
# ifconfig enp0s3 down   //down掉当前的链接
# cp /etc/netctl/examples/ethernet-static /etc/netctl     //从模板复制配置文件
# vim /etc/netctl/ethernet-static    //编辑配置文件内容如下

# netctl list   //查看配置文件列表
# netctl start ethernet-static   //启用配置
# netctl enable ethernet-static   //设置开机自动启动

3.安装基本系统

# vim /etc/pacman.d/mirrorlist
使用163的镜像源,首行插入
Server = http://mirrors.163.com/archlinux/$repo/os/$arch
# pacman -Sy    //刷新缓存
# pacstrap -K /mnt base linux linux-firmware    //安装base基础包
# genfstab -U -p /mnt >> /mnt/etc/fstab    //生成fstab文件
# arch-chroot /mnt    //切换到本地硬盘root

设置locale本地化

# vi /etc/locale.gen     //反注释:zh_CN.UTF-8 UTF-8

设置时区

# timedatectl set-timezone Asia/Shanghai

开启ntp自动同步时间

# timedatectl set-ntp true

设置主机名hostname

# echo ArchLin > /etc/hostname

设置root密码

# passwd

创建普通用户

# useradd -m -g users -s /bin/bash lpwm    //添加普通用户
# passwd lpwm    //设置普通用户密码

安装GRUB

# pacman -S grub
# grub-install /dev/sda
# grub-mkconfig -o /boot/grub/grub.cfg

完成安装,重启进入GRUB引导程序~

4.安装自定义功能的程序包

# pacman -S openssh xorg-server openbox lightdm lightdm-gtk-greeter chromium wqy-microhei xfce4-terminal

程序包说明:

  • openssh用来开启远程SSH连接管理
  • xorg-server openbox lightdm用来开启图形桌面支持
  • lightdm-gtk-greeter这个包是进入图形界面的登陆框组件,如果不安装的话就无法使用lightdm
  • chromium不用解释了,浏览器
  • wqy-microhei文泉驿的中文字体,后面xfce4-terminal里面需要用到这个字体对应的mono等宽字体
  • xfce4-terminal是图形桌面里面用到的虚拟终端,不用再Ctrl+Alt+F2切换控制台了

为openbox添加xfce4-terminal菜单

# vi /etc/xdg/openbox/menu.xml

找到 <separator label="Openbox"/> 下面加入如下内容:

<item label="xfce4-terminal"><action name="Execute"><command>xfce4-terminal</command></action>
</item>

设置xfce4-terminal显示字体

默认安装完成后运行xfce4-terminal显示的字体都是挤在一起的

需要改一下字体,Edit-Preference

改完后显示正常:

设置系统启动自动登陆lpwm用户

# groupadd -r autologin			//添加自动登录用户组
# gpasswd -a lpwm autologin		//将用户lpwm添加到该组
# vi /etc/lightdm/lightdm.conf
在[Seat:*]节点下面找到这一行取消注释并加上用户名
autologin-user=lpwm  
			//添加自动登录用户组
# gpasswd -a lpwm autologin		//将用户lpwm添加到该组
# vi /etc/lightdm/lightdm.conf
在[Seat:*]节点下面找到这一行取消注释并加上用户名
autologin-user=lpwm  

设置系统启动自动进入GUI图形界面

# systemctl enable lightdm

5.配置SSH远程管理

# vi /etc/ssh/sshd_config
找到#PermitRootLogin prohibit-password 改为
PermitRootLogin yes
# systemctl enable sshd
# systemctl start sshd

6.设置Chromium开机自动全屏启动

# vi /etc/xdg/openbox/autostart
添加内容:
chromium --no-sandbox --disable-infobars --disable-suggestions-service --disable-save-password-bubble --incognito --kiosk http://www.baidu.com

启动Chromium的参数说明

其实上面写的有点多了,像--disable-translate这个参数在新版本的Chromium中被弃用了,目前总结真正用到的是

--no-sandbox:可以允许root用户运行Chromium
--disable-infobars:屏蔽信息栏(但是还会显示非正常关闭后的恢复提示)
--incognito:进入无痕浏览模式(不保存历史纪录等相关session信息,可以屏蔽非正常关机后的恢复提示,见下图

--kiosk:全屏显示
最后跟要访问的url地址参数就行了

关于屏蔽翻译提示框的说明:

因为在Chromium 66以上版本中屏蔽掉了之前能用的那个--disable-translate参数,所以目前的办法是在Chromium的设置中关闭这个功能:

7.开启声音支持

# pacman -S pulseaudio ponymix

默认装完后是没有启动声音后台服务的,可以直接运行下面命令开启声音支持,或者重启电脑会自动开启

# pulseaudio --start    //启动声音服务后默认是静音状态,需要用ponymix来unmute一下,再increase到100

声音控制方法:

# ponymix    //这个是CLI控制音量工具,直接执行显示当前声音设备和音量
# ponymix mute     //静音
# ponymix unmute    //取消静音
# ponymix increase 100    //加大音量100%
# ponymix decrease 50    //减小音量50%


http://www.ppmy.cn/news/847965.html

相关文章

计算机cmos芯片用途,什么是CMOS,它有什么用途?

CMOS(complementary metal-oxide-semiconductor 的缩写)是通常用来描述计算机主板上存储BIOS设置的少量内存的术语。其中一些BIOS 设置包括系统时间和日期以及硬件设置。 甲CMOS传感器是不同的,它的使用由数码相机将图像转换成数字数据。 CMOS 的其他名称 计算机主板上的 CMOS…

服务器的作用及用途,服务器的作用和用途是什么

服务器的作用和用途是为网络用户提供集中计算、信息发表及数据管理等服务。服务器是一种高性能计算机&#xff0c;它可以存储、处理网络上绝大多数的数据、信息。 本文操作环境&#xff1a;windows10系统、thinkpad t480电脑。 服务器是一种高性能计算机&#xff0c;作为网络的…

锂的主要用途

锂(Li)是一种银白色的金属元素,质软,是密度最小的金属。用于原子反应堆、制轻合金及电池等。锂和它的化合物并不像其他的碱金属那么典型,因为锂的电荷密度很大并且有稳定的氦型双电子层,使得锂容易极化其他的分子或离子,自己本身却不容易受到极化。这一点就影响到它和它…

IDEA debug 断点调试技巧

1、首先看下IDEA中Debug模式下的界面&#xff1a; ① 以Debug模式启动服务&#xff0c;左边的一个按钮则是以Run模式启动。在开发中&#xff0c;我一般会直接启动Debug模式&#xff0c;方便随时调试代码。 ② 断点&#xff1a;在左边行号栏单击左键&#xff0c;或者快捷键Ctrl…

nginx 开机自启

0x00 前言 简单的记录下 0x01 正文 cd /lib/systemd/system/ vim nginx.service [Unit] Descriptionnginx service Afternetwork.target [Service] Typeforking ExecStart/usr/local/nginx/sbin/nginx ExecReload/usr/local/nginx/sbin/nginx -s reload ExecStop/usr/lo…

Anaconda的安装和配置

对于自学Python的小伙伴来说&#xff0c;在刚开始&#xff0c;我们就得要安装Python以及python的库&#xff0c;但是我们可以通过安装Anaconda很好地解决这一难题&#xff0c;给我们初学者节省很多令人头疼的环境安装问题&#xff0c;今天我就为大家分享下Anaconda的介绍&#…

深度学习项目三:Unet网络搭建

深度学习项目三:Unet网络搭建 文章目录 深度学习项目三:Unet网络搭建@[TOC](文章目录)前言一、Unet 网络1.Unet简要介绍二、自己修改后的Unet 网络1.修改部分的介绍2.修改后的Unet网络结构图三、代码实现修改后的Unet 网络1. 最小卷积组件介绍2. 最小卷积组件代码实现3. 整体…

折叠屏手机江湖:华为加固城墙,小米奋起直追

配图来自Canva可画 虽然折叠屏手机已不算是新鲜事物&#xff0c;但对于大多数人来说&#xff0c;折叠屏手机折叠起来是手机&#xff0c;打开变成“小平板”的妙用还是很新奇&#xff0c;折叠屏手机市场关注度居高不下。 有关注度是个好事&#xff0c;因为目前手机厂商不得不面…