PostmarketOS是个志愿者社区,所以并没有统一的产品标准,一般来说,系统是要自动连网的,还好这个版本phosh是支持的,曾经试过plasma版本,抄网上教程,停掉桌面,去除开机启动,然后一开机重启,完了,只支持远程登录,因为网络服务还没有起来,所以不能ssh连接,只能重新刷入系统。当然如果你的手机支持数据线ssh连接,那就没有任何问题,无需连网,插入数据线,自动识别成172.16.42.1,ssh [email protected] 就可以控制手机,非常方便。
所以现在带来一个重要的问题,到底要不要开机启动桌面,对于linux系统来说,桌面没有多少意义,远控才是灵魂,意味着你随时随地可以让你的linux服务器为你工作,但是当你的系统出现问题时,大概率基于网络的连接ssh 是你的唯一也是最方便的入口,我们可以设置开机后停掉桌面,万一你换个地方,不一样的网络环境,你就可以方便的重新设置。所以第一步就是:
让你的桌面tinydm开机后停掉。
建立停掉桌面的脚本 。
sudo apk add nano
先安装nano文本编辑器,当然你喜欢的话可以直接用vi或者vim编辑器,最简单的用法上篇有讲过。
sudo nano /usr/local/bin/stop_tinydm.sh
下面内容加入脚本
#!/bin/sh
sleep 120
rc-service tinydm stop
给脚本可执行权限
sudo chmod +x /usr/local/bin/stop_tinydm.sh
创造开机启动的停掉桌面服务,服务才能开机启动
sudo nano /etc/init.d/stop_tinydm
服务中写入
#!/sbin/openrc-run
depend() {
after tinydm
}
start() {
ebegin "Starting the delayed stop for tinydm"
/usr/local/bin/stop_tinydm.sh &
eend $?
}
给服务文件权限
sudo chmod +x /etc/init.d/stop_tinydm
把服务加到开机启动,并设为default的runlevel
sudo rc-update add stop_tinydm default
这样就节省了系统资源又留下了足够的余地,当然最好能让手机支持ssh数据线连接,据说这样连接网速可以达到极限。后面我会讲到如何测试桌面停止功能实现了没。而且桌面问题解决了一个大问题,就是有时候POSTMARKETOS会掉服务,连接不上,但是网络是可以PING通的。
第二步 设置固定的ip和网络自动连接
在机子联网和ssh登陆的情况下,输入命令
ip addr
会看到一大串信息
应该能看到
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP qlen 1000
link/ether b6:f7:a6:7b:b1:8b brd ff:ff:ff:ff:ff:ff
inet 192.168.1.3/24 brd 192.168.1.255 scope global noprefixroute wlan0
valid_lft forever preferred_lft forever
inet6 fe80::a4ce:e40b:bb32:da2c/64 scope link noprefixroute
valid_lft forever preferred_lft forever
这里我们可以看到,wlan0是我们的红米手机自带的无线网卡,我用的是无线网卡连接网络,然后用远程登录。在远程登录之前,先安装一个软件。
sudo apk add screen
是个屏幕固定软件,我们知道 ,linux由于安全原因,SSH客户端经常会退出,导致某个命令看不到效果。我们可以这样。
screen -s mynewjob #mynewjob 可以任意命名
#代表正在进行的工作
这个时候就会跳出一个新的窗口,相当于会自动保存当前工作的窗口。
如果意外失去连接,或者临时有其他事情,都没关系 。只要取回这个窗口就可以。
screen -r mynewjob
如果你忘记了任务名字,可以用如下命令查看
screen ls
非常方便,当然你也可以用另一个TMUX差不多的命令。这个SCREEN命令对接下来的配置工作也很有帮助。
第三步查看现存的连接
同样先用screen命令创造一个冻结窗口
screen -s NetSet
现在我们的目标是建立一个固定的连接,而不是由路由器动态分配。
假设我们希望在第三个网卡 (wlan0) 上分配静态 IP 地址,具体内容如下:
IP 地址 = 192.168.1.3
网络掩码 = 255.255.255.0
网关 = 192.168.1.1
DNS = 192.168.1.1
首先查看当前活动的网卡和wifi连接
nmcli connection
我们可以看到这样的结果
NAME UUID TYPE DEVICE
HUAWEI-8ESSWScenter5G 1ce3c71e-feec-4534-a682-5f07bf0507e4 wifi wlan0
lo 7b77c4b8-d2a0-4696-91d7-61157b56f3b6 loopback lo
H3C_777 78bd748e-4027-4979-bb85-540f0f5ba438 wifi --
H3C_777_5G 1f0420dc-3525-4c18-8057-93b133b428ca wifi --
HUAWEI-8E55WS 497ee222-097e-4cf8-b9ca-34133e31348f wifi --
HUAWEI-8E55WScenter 121b3faa-7ce4-451b-8e20-b101bc9994e3 wifi --
USB Networking 83bd1823-feca-4c2b-9205-4b83dc792e1f ethernet --
第一行说明,wlan0网卡正连接在HUAWEI-8ESSWScenter5G这个无线网络上,这个我们开机进入的连接WIFI时的名字
在接下来3行是曾经连接上的WIFI历史。最后一行可以看到POSTMARKETOS确实有usb网卡,就是我们手机的数据充电二合一口
这样看来是可以用USB口有线连接并上网的。
接下来开始配置无线网卡
设置ip
sudo nmcli con mod HUAWEI-8ESSWScenter5G ipv4.addresses 192.168.1.3/24
# 这里有些linux 系统是mod wlan0的,看具体定义
设置网关
sudo nmcli con mod HUAWEI-8ESSWScenter5G ipv4.gateway 192.168.1.1
设置手动分配ip
sudo nmcli con mod HUAWEI-8ESSWScenter5G ipv4.method manul
设置DNS
sudo nmcli con mod HUAWEI-8ESSWScenter5G ipv4.dns "192.168.1.1"
#这里的DNS如果不知道就填网关地址,目前来说没什么问题
启动当前配置
sudo nmcli con up # con down 关闭网络
这个时候可能你的ssh会退出,说明IP地址变化了。
当然我们这里可以用sudo reboot
看看效果。
我们可以最后启动后,再次用SSH连接后,用以下命令查看桌面是否关闭了。
sudo service tinydm status
* status: stopped
这里要说明 ,根据我多日的踩坑,如果你用一段时间,会去网上搜索
为什么POSTMARKEDOS会自动断开服务
这里就是答案,可能桌面对LINUX系统来说,是很不稳定因素。如果你的机子可以USB连接方式SSH,
请告诉我,我也很想去掉桌面开机启动。
sudo rc-update del tinydm
总结 现在你的手机是一个可靠的linux服务器了。
现在不需要重启后再担心SSH服务器无法联机,可以愉快的玩耍了。当然,现在离可以建立网站还有很远,下一步,建立可靠的ssh连接。