Raspbian 开机自动启动

本文介绍如何设置让Chrome浏览器在Raspberry Pi启动时自动打开并加载指定网页,通过创建autostart目录并在其中放置my.desktop文件实现。

Autostart Chrome

cd /home/pi/.config
mkdir autostart
cd autostart

在[autostart]目录中新建名为my.desktop的文件:

文件内容:

[Desktop Entry]
Type=Application
Exec=chromium-browser  --disable-popup-blocking --no-first-run --disable-desktop-notifications  --kiosk "http://www.hahaha.com/"

上面的网址可以输入自己需要的URL, 保存退出, 重启:

sudo reboot
<think> 我们正在处理关于设置VNC服务器开机启动的问题。根据引用内容,我们可以整理出不同的方法,并注意不同系统可能存在的差异。 引用[1]提到在继续操作前需要停止正在运行的VNC实例,使用命令如`vncserver -kill :1`(以端口5901为例)。 引用[2]提到首次启动vncserver时需要设置密码,并注意不要设置view-only密码(输入n)。同时提到了查看vncserver进程列表的命令:`vncserver -list`。 引用[3]则详细说明了在树莓派上设置tightvncserver开机自启的方法,包括创建systemd服务文件,并注意了不同命名的程序(如有些安装后程序名为vncserver)以及用户和参数设置。 根据这些引用,我们可以总结设置VNC服务器开机启动的几种方法: 方法1:使用systemd服务(推荐,适用于使用systemd的系统,如CentOS 7+、Ubuntu 16.04+、树莓派Raspbian等) 方法2:将启动命令添加到/etc/rc.local(适用于支持rc.local的系统) 由于引用[3]提供了使用systemd的方法,我们将重点介绍这种方法,同时简要提及rc.local方法。 步骤: 1. 创建systemd服务文件 2. 启用服务 注意:不同的VNC服务器软件(如tigervnc, tightvnc)以及不同的系统可能有差异,请根据实际情况调整。 详细步骤: 方法一:使用systemd服务(以tightvncserver为例,但同样适用于tigervnc) 1.1 创建服务文件(例如:/etc/systemd/system/vncserver@.service) 注意:文件名中的“@”符号表示可以传递参数(如:1,:2等) 1.2 编辑服务文件,内容参考如下(根据引用[3]的注意点调整): 注意:这里我们使用用户pi(根据实际用户修改),端口为:1(即5901),分辨率800x600,颜色深度16(可省略则使用默认) 同时,注意程序名称可能是tightvncserver或vncserver,需要根据实际情况修改ExecStart命令。 1.3 重新加载systemd配置,启动服务并设置开机启动。 方法二:使用rc.local(如果系统支持) 将启动命令添加到/etc/rc.local文件中(在exit 0之前) 下面分别给出详细命令: 方法一(systemd)详细步骤: 步骤1:创建服务文件 使用编辑器(如nano或vim)创建并编辑服务文件: ```bash sudo nano /etc/systemd/system/vncserver@.service ``` 在文件中输入以下内容(根据引用[3]和实际需求调整): ```ini [Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=pi Group=pi WorkingDirectory=/home/pi PIDFile=/home/pi/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 16 -geometry 800x600 :%i ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target ``` 注意: - 上面的User和Group根据实际运行VNC的用户修改(如使用root则改为root,但通常不建议)。 - 如果系统中VNC服务器程序是`tightvncserver`,则将`/usr/bin/vncserver`替换为`/usr/bin/tightvncserver`。 - 参数说明: -depth 16:颜色深度(可选) -geometry 800x600:分辨率(可选) :%i:表示实例编号,例如启动服务时使用:1,则%i就是1(端口5901) - PIDFile的路径可能需要根据实际情况修改(不同的VNC服务器可能存储pid文件的位置不同,通常在家目录的.vnc目录下,文件名如`主机名:显示编号.pid`) 步骤2:重新加载systemd配置并启动服务 ```bash sudo systemctl daemon-reload ``` 步骤3:启动服务并设置开机自启(假设使用显示编号1) ```bash sudo systemctl enable vncserver@1.service # 设置开机启动 sudo systemctl start vncserver@1.service # 立即启动 ``` 步骤4:检查服务状态 ```bash sudo systemctl status vncserver@1.service ``` 方法二:使用rc.local(如果系统支持) 编辑/etc/rc.local文件: ```bash sudo nano /etc/rc.local ``` 在`exit 0`之前添加启动命令(以用户pi启动显示编号1为例): ```bash su - pi -c "/usr/bin/vncserver -depth 16 -geometry 800x600 :1" ``` 保存后,赋予rc.local可执行权限(如果还没有): ```bash sudo chmod +x /etc/rc.local ``` 这样,在系统启动时,会以用户pi的身份执行该命令启动VNC服务器。 注意事项: - 确保已经设置好VNC密码(使用vncpasswd命令)。 - 如果之前已经运行了VNC实例,可能需要先杀掉(使用vncserver -kill :1)。 - 不同VNC服务器软件的命令可能不同,请根据实际安装的软件调整命令(如tightvncserver或vncserver)。 - 使用rc.local的方法在某些新系统中可能已经不再使用(因为rc.local可能默认不启用),所以推荐使用systemd方法。 根据引用[3]的注意点,特别提醒: - 如果安装的软件在/usr/bin/下是vncserver,则使用vncserver命令。 - 指定用户(如pi)后,VNC登录时使用该用户名和设置的VNC密码。 - 参数(-depth, -geometry, 显示编号)可以根据需要调整或省略。 最后,生成相关问题: 1. 如何停止正在运行的VNC服务器实例? 2. 如何重置VNC连接密码? 3. 使用systemd设置服务时,如何查看服务日志? 4. 如何修改VNC服务器的分辨率? </think> 根据引用内容,以下是设置 VNC 服务器开机自启的详细方法,分为 systemd 服务(推荐)和 rc.local 两种方式: --- ### 方法 1:使用 systemd 服务(推荐) #### 步骤: 1. **创建服务文件** ```bash sudo nano /etc/systemd/system/vncserver@.service ``` 2. **写入服务配置** ```ini [Unit] Description=Start TightVNC server at startup After=syslog.target network.target [Service] Type=forking User=pi # 替换为实际用户名 Group=pi WorkingDirectory=/home/pi # 替换为用户目录 PIDFile=/home/pi/.vnc/%H:%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 16 -geometry 800x600 :%i # 参数按需调整 ExecStop=/usr/bin/vncserver -kill :%i [Install] WantedBy=multi-user.target ``` 3. **启用并启动服务** ```bash sudo systemctl daemon-reload sudo systemctl enable vncserver@1.service # 启用端口 :1 (5901) sudo systemctl start vncserver@1.service ``` > **关键参数说明**(引用[3]): > - `-depth 16`:颜色位深(可选) > `-geometry 800x600`:分辨率(可选) > `:%i`:指定端口(如 `:1` 对应端口 5901) > 不加端口参数时自动分配空闲端口[^3]。 --- ### 方法 2:通过 rc.local(传统方式) #### 步骤: 1. **编辑 rc.local 文件** ```bash sudo nano /etc/rc.local ``` 2. **在 `exit 0` 前添加启动命令** ```bash su - pi -c "/usr/bin/vncserver -geometry 1920x1080 :1" # 替换用户和分辨率 ``` 3. **赋予执行权限** ```bash sudo chmod +x /etc/rc.local ``` --- ### 注意事项 1. **程序名称差异** - 某些系统安装后命令为 `tightvncserver`,某些为 `vncserver`(引用[3]),需检查实际路径: ```bash ls /usr/bin | grep -E "vncserver|tightvncserver" ``` 2. **用户权限** - 服务中指定的用户(如 `pi`),需与 VNC 登录用户名一致(引用[3])。 3. **密码设置** 首次运行需设置密码: ```bash vncserver # 按提示设置密码,对 "view-only password" 选 n(引用[2]) ``` 4. **验证服务状态** ```bash sudo systemctl status vncserver@1 # 检查 systemd 服务 vncserver -list # 查看运行中的 VNC 实例(引用[2]) ``` --- ### 常见问题解决 - **端口冲突**: 使用 `vncserver -kill :1` 终止占用端口的实例(引用[1])。 - **分辨率修改**: 编辑服务文件的 `ExecStart` 参数,如 `-geometry 1920x1080`。 - **日志查看**: ```bash journalctl -u vncserver@1.service -f # 实时监控日志 ``` --- ### 相关问题 1. 如何强制 VNC 服务器使用特定端口(如 `:2`)? 2. VNC 连接时出现灰屏或无响应如何解决? 3. 如何为不同用户创建独立的 VNC 服务? 4. 使用 `vncpasswd` 重置密码的具体步骤是什么?[^2] > **提示**:操作前建议备份重要数据,修改配置文件后使用 `systemctl daemon-reload` 重载配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值