最终,我换回了 raspbian,苦等的 18.04 怎么也不来,也不想 do-release-upgrade,于是直接上 raspbian lite 吧,开机后内存占用才 30M,很完美~ 自动连 WiFi 参考
前言
昨天把树莓派揪了出来,全新安装了 Ubuntu MATE 16.04,发现这版本还是不错的…… 然而却存在很多问题,比如说,每次更新、下载软件都得跑去遥远的美帝——反正不在大陆了;SD 卡没有扩展等。
那今天就水一贴来说说 Ubuntu MATE 16.04 for Raspberry 2 安装之后的事情……
本文的主要内容(主要解决的问题)有:
扩展文件系统
更换软件源
安装 OpenSSH
完善语言支持
1080P 显示器黑边
音频默认输出端口
播放器的硬件加速
更改桌面风格
监测 CPU 温度
参考资料:https://ubuntu-mate.org/raspberry-pi/
配置要求
Raspberry 2 或者 3 一个,显示器,鼠标,键盘,HDMI(或者转换器 + VGA),microUSB 数据线,8GB + 的 microSD(官方推荐使用 Class 6 或者 Class 10 microSDHC),网线或者无线网卡,至少 5V1A 的直流电源适配器…… 一个都不能少。
因为 Ubuntu MATE 没有预先定义的用户,所以烧完卡之后直接想用 ssh 是不成的……
反正这配置要求是蛮多的,有 Pi 的肯定没觉得啥了……
那就一步一步来吧……
先说点废话
纠结树莓派的应用场景,所以我买了两张卡,一张做了 OSMC,一张做了 Ubuntu MATE
后来想了想,有这么三种使用方法:
1. 把树莓派丢在路由器旁边,随意装个支持 SSH 的系统,挂个硬盘做 NAS,好在现在很多电视有 WiFi 模块,怎么说也有 54Mbps,不看 1080P 的原盘是没问题了……
2. 把树莓派连在电视上,用无线网卡连到路由器,装 OSMC 挂硬盘当 HTPC…… 当然啦 HTPC 也可以 SSH 然后用 samba 的。PS,OSMC 支持遥控器哦!
3. 同上,只不过装的是 Ubuntu MATE…… 插个键盘鼠标还能偶尔上个网
顺便搭建 LNMP 什么的也完全不过分 (→_→)Pi 这性能得编译半个晚上还是果断二进制包吧……
反正现在我也没有多余的移动硬盘,也没有自己的家,还是先让它吃灰吧……
烧制 Ubuntu MATE
点击这里下载种子,然后下载镜像,是 xz 格式的,随意用什么东西解压缩,用 Win32 Disk Imager 写入到卡里,这我就不说了……
安装 Ubuntu MATE
此步略……
我相信大家都会的。
扩展文件系统
默认来说,16G 的卡大概只有 7G 左右是默认被使用的,需要扩展下。很可惜
- rasp-config
并不能使用(To do 里有一项是后期会添加 rasp-config),所以我们要手动扩展下。
官网给出了两种办法:
第一种
在 Ubuntu MATE 的 welcome 窗口里调整,只需要点击 Information -Resize 即可。(Welcome 里可以看到好些好玩的东西呢,我这就截个图给你们看看)
另外一种方式
- sudo fdisk /dev/mmcblk0
删除第二个分区 (d 回车, 2 回车), 用默认参数新建分区 (n 回车, p 回车, 2 回车, 回车两次, ), w 回车,然后重启,再运行
- sudo resize2fs /dev/mmcblk0p2
重启即可。
更换软件源为国内源
别想着直接把 mirrors.163.com 等的 sources.list 直接复制过去,是不管用的,因为树莓派是 ARM 架构的。这里我找到了科大的软件源,顺便吐槽一句,科大的源里东西可真多啊,界面还好看!
- sudo pluma /etc/apt/sources.list
清空所有内容,添加如下内容(提前做好备份哦!)
- deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main restricted universe multiverse
- deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial main restricted universe multiverse
- deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
- deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-updates main restricted universe multiverse
- deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
- deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-security main restricted universe multiverse
- deb http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
- deb-src http://mirrors.ustc.edu.cn/ubuntu-ports/ xenial-backports main restricted universe multiverse
如果你是用的是 wily,那就把 xenial 替换成 wily 就好了(新版的设置里自带个中国的软件源,直接选就好啦)
之后尽情的
- sudo apt-get update
- sudo apt-get upgrade
安装语言包
16.04 比 14.04 和 15.10 大了那么多,果然还是有些道理的,但是依旧有些翻译不完整。
和 Ubuntu 差不多,上面的面板里点 languages support,之后就会弹出语言支持不完整
点安装,输入密码就可以了。速度还是很好的
安装 openssh-server
更新源之后
- sudo apt-get install openssh-server
之后其他电脑用 putty 之类的就可以了。用户是你设置的用户,密码是你设置的密码。
1080P 显示器有黑边
- sudo pluma /boot/cofig.txt
369 行,去掉 disable_overscan=1 的注释
注意,不是前面 70 多行的 HDMI_Mode=4 那里,别改错了
音频默认输出端口
使用 3.5mm 或者 HDMI 输出音频
- #3.5mm
- sudo amixer cset numid=3 1
- #HDMI
- sudo amixer cset numid=3 2
这个是全局的。
omxplayer 输出音频端口
- #3.5mm
- omxplayer -o local video.mp4
- #HDMI
- omxplayer -o hdmi video.mp4
仅对 omxplayer 有效。如果 HDMI 和 3.5mm 都接入了,那么 omxplayer 默认会输出到 HDMI
VLC 和 ffmpeg 硬件加速
大概树莓派上最好的播放器就是 omxplayer,甚至有人还写了个 GUI,TBOPlayer,好想音译成淘宝播放器,GitHub Repo 在此:https://github.com/KenT2/tboplayer
Ubuntu MATE 带有 VLC,也添加了 OpenMax IL 硬件解码的支持。
VLC 启用硬件加速
打开 VLC,工具 - 偏好设置 - 视频,选择 OpenMax IL
官网还提了一句,To use hardware accelerated video playback with ffplay you must specify the h264_mmal codec
- ffplay -vcodec h264_mmal video.mp4
我没有进行测试
树莓派上的硬件加速是直接把视频输出,所以你看不到暂停、快进什么的播放控制。
所以 ,得用热键…… 参考如下 wiki
https://wiki.videolan.org/Hotkeys_table/
更改桌面风格
使用 MATE Tweak 工具,怀念瘟都死的我啊哈哈,Redmond 很像 Windows 了,而且有好些主题可以换,好色主义的我啊哈哈哈~~
监控 CPU 温度
懒得上 GitHub 上找写的非常好的程序了,我这就找了一个非常简单的代码……
新建文件 temp.c
粘贴入如下内容
- #include
- #include
- #include
- #include <sys/types.h>
- #include <sys/stat.h>
- #include
- #define TEMP_PATH "/sys/class/thermal/thermal_zone0/temp"
- #define MAX_SIZE 32
- int main(void)
- {
- int fd;
- double temp = 0;
- char buf[MAX_SIZE];
- // 打开/sys/class/thermal/thermal_zone0/temp
- fd = open(TEMP_PATH, O_RDONLY);
- if (fd < 0) {
- fprintf(stderr, "failed to open thermal_zone0/temp\n");
- return -1;
- }
- // 读取内容
- if (read(fd, buf, MAX_SIZE) < 0) {
- fprintf(stderr, "failed to read temp\n");
- return -1;
- }
- // 转换为浮点数打印
- temp = atoi(buf) / 1000.0;
- printf("temp: %.2f\n", temp);
- // 关闭文件
- close(fd);
- }
之后运行
- gcc –o temp temp.c
会生成一个 temp 的二进制文件,继续运行
./temp 即可看到 CPU 温度。
要想在任何目录都能看到 CPU 温度,就
- sudo cp temp /bin
任何目录运行 temp 都能看到 CPU 温度了——伸手去摸的别怪我哦(别想 + x 的事啦,是 755 啦。)
还记得有个东西叫 psensor 吗?还有 hardinfo(堪称 Linux 版 AIDA64——其实比 AIDA64 还是有差距的)
迷之 bug
应该是 fcitx 的事…?看不到输入法候选框。反正我也只是想拿它做个多媒体中心 / NAS 而已。
结语
我想了一想,像我这么懒的人,有必要
- alias ai='apt-get install'
一下了……