![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiInBnauIDNy8Gd2I2aitmNzMGOzEWMxcDMzIzLcVTMvwFMxUTMwIzLc1WdixWYvwFduVWboNWY0RXYvwVY0FGZvwVZt5CevJWcu42Y4VnbpxWLuR2Lc9CX6MHc0RHaiojIsJye.jpg)
树莓派raspberry pi是 raspberry pi foundation 推出的迷你电脑,它只有信用卡大小,但可以完成一台普通 pc 能完成的大部分工作,并且价格很便宜,是电脑爱好者的不二选择,如果你是一名 linuxer 更应该拥有一台这样的迷你电脑。
<a target="_blank"></a>
raspberry pi 到底能拿来做什么呢?它的玩法多的数不清了,因为这取决于我们的创意,作为一块开发板,它给我们提供了很大的自由。
<a href="https://linux.cn/article-1402-1.html" target="_blank">树莓派构建的超级计算机</a>
<a href="https://linux.cn/article-4092-1.html" target="_blank">作为家用服务器</a>
<a href="https://linux.cn/article-1618-1.html" target="_blank">我拿树莓派来做什么</a>
<a href="https://linux.cn/article-681-1.html" target="_blank">raspberry pi 五种有趣玩法</a>
微型个人电脑 (笔者也就只是当作个人微型电脑而已)
下面是几张引用文章内的图:
由于 raspberry pi 几乎是为 linux 而生的,所以 raspberry pi 的操作系统也是多样的,为此以下介绍几个操作系统。
<a href="https://ubuntu-mate.org/raspberry-pi/" target="_blank">ubuntu mate</a>
<a href="https://developer.ubuntu.com/en/snappy/start/#snappy-raspi2" target="_blank">snappy ubuntu core</a>
<a href="http://ms-iot.github.io/content/en-us/downloads.htm" target="_blank">windows 10 iot core</a>
<a href="http://openelec.tv/get-openelec" target="_blank">openelec</a>
<a href="http://pinet.org.uk/" target="_blank">pinet</a>
<a href="https://www.riscosopen.org/content/downloads/raspberry-pi" target="_blank">risc os</a>
<a href="http://archlinuxarm.org/" target="_blank">arch arm</a>
<a href="https://www.gentoo.org/downloads/" target="_blank">gentoo arm</a>
笔者只是将 raspberry pi 当成个人电脑使用而已,因此,未选择 raspbian 而是选择了 arch arm。
下面是我选择的配件
raspberry pi 2 b
8 g 闪迪内存卡
usb wi-fi 模块(可选)
亚克力外壳(可选)
散热铝片或铜片
电源线
键盘鼠标(可选)
为 sd 卡分区(用你 linux 上的 sd 卡设备代替 sdx ):
<code>fdisk /dev/sdx</code>
第一步请先删除原来的分区并重新创建:
输入 o 清除所有分区。
输入 p 列出所有分区,此时应该没有分区。
输入 n , 然后输入 p 选择主分区,1 是第一个分区 ,输入 enter 确定第一个扇区,然后输入 +100m 。
输入 t , 然后输入 c 设置第一个分区类型为 w95 fat32 (lba)。
输入 n , 然后输入 p 选择主分区, 2 是第二个分区, 直接输入 enter 确定默认的扇区和最后的扇区(剩下的所有容量作为第二个分区)
输入 w 写入分区表并退出。
创建和挂载 vfat 文件系统(用你 linux 上的 sd 卡设备代替 sdx ):
<code>mkfs.vfat /dev/sdx1</code>
<code>mkdir boot</code>
<code>mount /dev/sdx1 boot</code>
创建个挂载 ext4 文件系统(用你 linux 上的 sd 卡设备代替 sdx ):
<code>mkfs.ext4 /dev/sdx2</code>
<code>mkdir root</code>
<code>mount /dev/sdx2 root</code>
使用 root 用户下载和解压 根文件系统:
<code>wget http://archlinuxarm.org/os/archlinuxarm-rpi-2-latest.tar.gz</code>
<code>bsdtar -xpf archlinuxarm-rpi-2-latest.tar.gz -c root</code>
<code>sync</code>
移动启动文件到第一分区:
<code>mv root/boot/* boot</code>
卸载挂载点:
<code>umount boot root</code>
将 sd 卡插入 raspberry pi ,连接以太网和 5v 电源。
默认用户是 alarm 密码 alarm。(ssh 请先用此用户登录,再修改 ssh 配置允许 root 登录)
root 的默认密码是 root。
注意 :以下用到 <code>sudo</code> 命令的,若你未配置 <code>sudo</code> 请直接用 <code>root</code> 用户执行。
首次使用应该按如下格式 <code>ssh</code> 登录:
<code>$ ssh -p 22 alarm@地址</code>
进去后使用 <code>su</code> 切换到 <code>root</code> ,并修改密码:
<code>$ sudo su - # password</code>
为了能使 <code>root</code> 通过 <code>ssh</code> 登录,编辑 <code>/etc/ssh/sshd_config</code>
<code>$ sudo nano /etc/ssh/sshd_config</code>
将 <code>#permitrootlogin</code> 这行去掉注释,并将值设置为 <code>yes</code> :
<code>permitrootlogin yes</code>
编辑 <code>/etc/pacman.d/mirrorlist</code>
<code>$ sudo nano /etc/pacman.d/mirrorlist</code>
在顶部增加以下代码,这是中科大的源
<code>## ustc</code>
<code>server = http://mirrors.ustc.edu.cn/archlinuxarm/armv7h/$repo</code>
编辑好后按 <code>ctrl +x</code> ,然后按 <code>y</code> 保存,然后升级整个系统:
<code>$ sudo pacman -syu</code>
首先安装 <code>xorg</code>
<code>$ sudo pacman -s xorg</code>
<code>$ sudo pacman -s xorg-xinit</code>
然后安装 <code>lxqt</code> 桌面:
<code>$ sudo pacman -s lxqt</code>
首先配置 vncviewer,本机与 raspberry pi 都需要安装 <code>tigervnc</code>
<code>$ sudo pacman -s tigervnc</code>
在 raspberry pi 中执行 <code>vncserver</code>
<code>$ vncserver</code>
<code></code>
<code>you will require a password to access your desktops.</code>
<code>password:</code>
<code>verify:</code>
<code>would you like to enter a view-only password (y/n)? n</code>
<code>new 'archraspi:1 (locez)' desktop is archraspi:1</code>
<code>creating default startup script /home/locez/.vnc/xstartup</code>
<code>starting applications specified in /home/locez/.vnc/xstartup</code>
<code>log file is /home/locez/.vnc/archraspi:1.log</code>
然后编辑 <code>~/.vnc/xstartup</code> ,将原来的内容替换为以下内容,你也可以直接删除原文件,再新建一个同名文件:
<code>#!/bin/sh</code>
<code>unset session_manager</code>
<code>unset dbus_session_bus_address</code>
<code>exec startlxqt</code>
然后杀掉 vnc 服务,并重启它:
<code>$ vncserver -kill :1</code>
<code>killing xvnc process id 400</code>
记住上面的 <code>:1</code> 可能根据实际情况不同,这个端口是你用 <code>vncviewer</code> 连接时用的端口。
然后本机中执行:
<code>$ vncviewer address:port</code>
然后输入密码就可以了
小屏幕显示
现在我们看见这个不是全屏的,但是可以在启动 vncserver 的时候增加参数,来指定分辨率:
<code>$ vcnserver -geometry 1920x1000</code>
这下就全屏了
全屏
然后你可以在不另外配显示屏的情况下正常使用 raspberry pi ,将它配置成一个 <code>samba</code> 服务器,或者做成一个下载器,这仅仅取决于,你想将 raspberry pi 拿来干什么。
笔者还尝试将 raspberry pi 直接连入手机 wi-fi ,把手机当成路由器使用,获取手机内网 ip 后,直接在手机上 <code>ssh</code> 内网登录,从而实现 raspberry pi 使用手机流量上网,并且不用借助路由器就可以连接 raspberry pi。
这里笔者推荐的是 juicessh ,手机上简单实用的一款 ssh 工具。由于篇幅原因,此处不再详述如何使用手机直连 raspberry pi,动手能力强的同学可以参看上面我给的思路,自行折腾。
后来笔者,买了键盘以后,又利用 <code>tmux</code> 将手机纯粹当屏幕使用。
首先 手机先 <code>ssh</code> 登陆 raspberry pi,执行
<code>tmux</code>
然后在看不见屏幕的情况下,使用键盘盲打输入 用户名 、 密码 进行登录,然后执行
<code>tmux attach</code>
此时键盘与手机屏幕的输入已经是同步的,一台个人作品就此完成!
下面几张图,是笔者在学校折腾的时候拍的:
本文来自云栖社区合作伙伴“linux中国”,原文发布日期:2015-10-16