Lite 自动打开-
情景:需要用电视机通过网页显示一些数据
构想方向
我原来是想用智能电视机或者通过电脑去打开浏览器去自动登录一些网页,从成本看肯定是用智能电视机好,但电视机的可控性很差,比如开机自动打开浏览器等的操作就很难完成 。而且非常多的广告,这也不便于当作生产线的显示板使用。
如果用电脑+电视机的组合也可以,可操控性有了,但成本也上来了,每台电脑成本估计在1千元左右,而且耐用性和管理性并不好。
经过网上收集的资料,最后决定用 3B作为主机+电视的组合,成本也低,Linux的稳定性也比好。有桌面程序,但想做到开机立即可进入页面的效果,通过查询到的网上资料都参支不齐,经过反复的实验,自己整理了些资料,也方便以后自己去查询。
需要到的工具: SD Card (新的SD卡需要格式化的工具) (把下载的RPI系统写进SD卡的工具) Lite (RPI Lite 官方的下载地址是: )Putty (SSH远端操作工具,这个不是必要,但很多时候使用会方便,特别是直接树莓派键盘的布局与平常的布局是有一点点不同,比如”#”就死搞不出来,在Putty写不会有这个问题。 前期准备步骤: 格式化后的SD卡,需要用写入下载下来的镜像(这里所用的是 Lite命令行式的界面,简单讲就是的Dos系统),过程视乎于SD卡的速度,据网上所讲,的运行速度取决于SD卡的速度,因为所有的读取写入都与SD卡有关。把SD插入树莓派3B的SD卡槽,接上网络(接入的网络必须可以上网,一般是通过路由器中DHCP分派IP,这样会简单一些。初手不建议在网络环境太复杂中操作,如是则需要上网查如何在树莓派中设定IP地址/网关/DNS等)。如果有条件可以接入HDMI,直接通过显示器去操作,这样可以省下用SSH去无端操作。但我还是用Putty去远程操作树莓派,所以首先想办法知道DHCP分派了什么IP给树莓派。在这之前有一点非常重要,新版的RPI默认是不允许SSH登录的,需要手动在SD卡的根目录中建立目录并命名为SSH,如果没有这个目录,SSH连接会失败!可以在第1点写完系统入SD卡后随便建立目录接电开启树莓派 在RPI Lite安装相应的
我第一篇参照的文章
链接: on Pi
sudo apt-get install chromium-browser 安装Chromium-browser of raspberry
sudo apt-get install xserver-xorg 安装XServer,Chromium应该是在这个基础上运行的
sudo apt-get install xinit 这个是启动Chromium的一个组件
安装以上三个包后可以通过以下命令运行-,你会发现系统会先运行,接着再运行,这个过程并不友好。
xinit chromium-browser
接下来我们安装–,具体什么作用我不太清楚,应该是管理窗口。
sudo apt-get install matchbox-window-manager
完善功能
从这里开始关键的问题已经解决,接下来就是优化问题,要解决的问题有以下几点:
解决中文乱码的问题打开浏览器后鼠标的图标要隐藏。Lite需要满屏显示需要写一个批处理的文档去执行相关的操作开机运行指定代码自动登录在树莓派中如何使用固定的静态IP地址 解决中文乱码的问题
加装中文字库
sudo apt-get update
sudo apt-get upgrade -y
*****我认为以上两行代码不一定需要的*****
sudo apt-get install ttf-wqy-microhei
sudo dpkg-reconfigure locales
sudo reboot
添加zh_CN.UTF-8,设定en_GB.UTF-8为默认语言
完成后需要重启
光标隐藏代码
sudo apt-get install unclutter
安装相应的后再Sudo ,重启后再执行
Lite需要满屏显示
修改启动配置文件
sudo nano /boot/.txt
找到=1,把注释去掉,即是前面的#号,在这行上面,有着各种模式与分辨率,找到适合自己屏幕的,比如1080P的模式是82,就把1改为82(=1改为=82)
这里有个,【链接】关于树莓派连接HDMI显示器及配置方法,内有详细关于不同分辨率的说明。找到=1,把注销去掉然后把1改为2(1是类似电视的输出,2是显示器输出)#=0
#=0
#=0
#=0
把上面的#都删掉Ctrl + X,Y,Enter保存,sudo 重启系统 写批处理的文档方便系统启动执行
sudo nano start-.sh会在系统默认的路径/home/pi/下生成start-.sh文件
//禁止显示器休眠
xset dpms 0 0 0
xset s off
//Hide the mouse from the display
unclutter &
//If Chrome crashes (usually due to rebooting), clear the crash flag so we don't have the annoying warning bar
//Linux sed的命令使用可以参考网上的资料,主要用来自动编辑一个或多个文件、简化对文件的反复操作、编写转换程序等。
sed -i 's/"exited_cleanly":false/"exited_cleanly":true/' /home/pi/.config/chromium/Default/Preferences
sed -i 's/"exit_type":"Crashed"/"exit_type":"Normal"/' /home/pi/.config/chromium/Default/Preferences
//删除chrome临时目录
rm -r /home/pi/.config/chromium -f
matchbox-window-manager -use_cursor no -use_titlebar no &
chromium-browser --disable-features=TranslateUI --window-size=1920,1080 --fast --fast-start --disable-popup-blocking --disable-infobars --start-fullscreen --incognito --disable-session-crashed-bubble --allow-running-insecure-content https://yoururl/
以下解释一下-的启动参数
—=不显示翻译此页面的窗口提示
—size=1920,1080 满屏的尺寸,这个参数很重要,因为在Lite在显示屏默认不为全屏,这个参数对应启动设定的屏幕尺寸
–fast
–fast-start If this flag is then this line is being to an via the fast path, ie: .dll is . It is to tell the for .
—popup-禁用弹出拦截
—- 禁用桌面通知,在 中桌面通知默认是启用的。
—让启动后不提示黄色边框。
–start-全屏模式,可以退出
— 让浏览器直接以隐身模式启动。
—– using for .
–allow— 默认情况下,https 页面不允许从 http 链接引用 /css/plug-ins。添加这一参数会放行这些内容。
备选参数
–touch-=
–kiosk启用kiosk模式。(一种类似于全屏的浏览模式)
开机自动执行指定的代码
试过linux系统常用的在rc.local的exit(0)前写shell命令的方法,但是没有奏效。百度后有种说法是rc.local是在系统启动后、用户登录前运行的,这时显然无法运行start-.sh。另一种方法是写开机脚本,然而笔者没有学过shell脚本,因此用了修改.的方法。登录后,系统会自动运行./,于是就实现了开机自启动start-.sh脚本代码。
sudo nano .
在打开的文档后面增加你要增加一句(nano的用法比vi简单,这里就不赘述了)
=:0 && sudo xinit /home/pi/start-.sh &
其中/home/pi/file是要启动的文件的路径,加入“&”可以防止阻塞。
注意这里与shell命令不同,不是以往的sudo xinit ./home/pi/start-.sh,这里是没有“.”的。 然后,程序就能开机运行了
以PI自动登录系统
PI 旧版本的方法
修改/etc/文件 sudo nano /etc/ 向下滚动,找到行 1:2345::/sbin/getty tty1 注释掉这一行,修改为 #1:2345::/sbin/getty tty1 在该行下增加一行内容1:2345::/bin/login -f pi tty1 /dev/tty1 2>&1
按Ctrl + X,Y,Enter保存。
原理:linux启动时,会读取文件,执行其中的登录命令,以pi用户名自动登录。
基于新版本 PI
-Image (). This one is based on 8 () where the init- from to .
sudo raspi-
, from the , Menu → → Pi .
If you raspi- from it looks like below:
down to 3 Boot .
B1 / CLI
B2
Save and exit the and .
The Pi will now boot to . You may setup a to run at if you are to pi . To do this, edit /etc/. Each time a login shell is all in /etc/ are .
sudo nano /etc/profile
To a /home/pi/.sh, add the line
./home/pi/myscript.sh
Now pi is on, it will to pi user and your , which will take care of you it to do in mode.
指定固定的IP地址
vi /etc/dhcpcd.conf
# 使用 vi 编辑文件,增加下列配置项
# 指定接口 eth0
interface eth0
# 指定静态IP,/24表示子网掩码为 255.255.255.0
static ip_address=192.168.1.20/24
# 路由器/网关IP地址
static routers=192.168.1.1
# 手动自定义DNS服务器
static domain_name_servers=114.114.114.114
# 修改完成后,按esc键后输入 :wq 保存。
重启树莓派就生效了
sudo reboot
发表回复