安装icewm简单版本

  1. 首先准备好无图形界面的操作系统raspberry pi OS 64-bit,我使用的是2022年4月4日的版本。新版本的系统删除了默认的pi用户,需要自己创建,最好使用rpi-imager可以配置。

  2. 配置好串口,wifi,ssh等基础设置,使用最新的rpi-imager可以配置这些属性。

  3. 安装X window的最小系统

    apt-get install --no-install-recommends xdm icewm icewm-themes xserver-xorg xserver-xorg-core xserver-common xorg xterm x11-apps  xfonts-base xfonts-100dpi xfonts-75dpi xfonts-scalable
    

    xserver-xorg xserver-xorg-core xserver-common xorg是x11的组件

  4. 修改~/.xsession文件

    #!/bin/bash
    # set wm to default window manager
    # set xchoose to "/usr/bin/choosewm" or "" to not run choosewm and use default
    wm="/usr/bin/icewm"
    xchoose=""
    # Comment out next line to not run choosewm
    xchoose="/usr/bin/choosewm"
    #
    # Personal configuration stuff
    #
    xrdb < ~/.Xdefaults
    xhost +
    xsetroot -solid black
    #
    # run choosewm (which will run the selected wm) or the default wm
    #
    [ -x "$xchoose" ] && exec $xchoose
    [ -x "$wm" ] && exec $wm
    #
    # If we get here, something is wrong, so run an xterm
    #
    exec /usr/bin/xterm
    
  5. 重启树莓派,如果是直接外接屏幕。进入的是非图形界面,使用startx可以启动图形界面,使用的是icewm,这个界面有window95的风格。

树莓派官方推出了很多版本的系统,上面这套流程在非最新版系统上都可以正常运行。最新版的系统上还有一些bug,后面会介绍绕过这个bug的方法。

使用xrdp服务远程树莓派桌面

  1. 安装xrdp服务

    sudo apt install xrdp

  2. 检查xrdp服务的状态

    systemctl show -p SubState --value xrdp

  3. 由于xrdp需要使用/etc/ssl/private/ssl-cert-snakeoil.key。需要将xrdp用户添加到ssl-cert组中,使得xrdp用户可以访问到该文件

    sudo adduser xrdp ssl-cert

这里因为xorg自带一个图形界面,需要配置一下xrdp的启动脚本,脚本在/etc/xrdp/startwm.sh查看一下内容,我这里的脚本是调用x11的启动脚本,这样用xrdp打开的图形界面和直插显示屏的图形界面是一致的。在freebsd上xrdp是自己调用x11的工具起了一个图形界面。

安装其他的窗口管理器

下面以dwm为例,安装之后的外观如下图

下面介绍一下安装流程

安装流程

  1. 下载dwm组件的源码,方便自己定制桌面

    # dwm:平铺式窗口管理器
    git clone https://git.suckless.org/dwm
    # st:dwm使用的终端模拟器
    git clone https://git.suckless.org/st
    # dmenu:dwm使用的应用启动器
    git clone https://git.suckless.org/dmenu
    
  2. 安装编译dwm需要的库依赖。很多窗口管理器需要x11的库,用于编译

    sudo apt install libx11-dev libxft-dev
    

    这里需要对x11库稍微有点了解,找到dwm需要的x11相关的头文件,上面两个库都需要安装。

  3. 在上面3个仓库中做如下修改

    每个仓库都执行一下sudo make clean install.

  4. 接下来是将启动dwm加入到x11的启动脚本中,方法很简单,先看一下x11的启动脚本

    这里与freebsd不太一样,在freebsd中,xinitrc脚本就直接调用了x11的工具集,启动图形界面,每个用户可以在自己的~/中将xinitrc复制为.xinitrc。将最后5行用#注释掉,再加上exec dwm

    raspberry pi OS基于Debian开发,这里与freebsd不同,这里调用了Xsession脚本,Xsession脚本调用x11工具集启动图形界面。每个用户可以直接在~/中创建.xsession文件,内容为exec dwm

  5. 这样如果在不是最新版的raspberry pi OS上按上面的流程配置完成。就可以使用rdp client连接上树莓派使用平铺式的图形界面了,存储的占用很小,性能也与终端访问接近,还能打开浏览器等需要图形界面的应用。

2022-04-22 raspberry pi OS上xrdp的bug

但是如果在最新版的raspberry pi OS执行了上述流程,结果可能是连上之后还是蓝屏之后黑屏。这里我查看了错误log,发现有打不开驱动的权限问题,去树莓派官方论坛中找了一下,在xrdp的github项目中有对应的issue。

解决方案如下

sudo nano /etc/X11/xrdp/xorg.conf
# Find:Option "DRMDevice" "/dev/dri/renderD128"
# Change to:#Option "DRMDevice" "/dev/dri/renderD128"Option "DRMDevice" ""
# Save and exit
sudo reboot

这种方式是让xrdp不去调用设备,会导致远程桌面有些卡顿,另一种方式是使用openbox。

从raspberry pi OS 64-bit lite开始安装图形界面(icewm ,dwm)相关推荐

  1. 树莓派4B安装官方发布64位 Raspberry Pi OS 系统

    前言 树莓派4B性能强劲,早就有许多大神做了一些64位系统,官方也终于推出了Raspberry Pi OS (64 bit) ,也就是64位的系统,话不多说,开淦! 一.下载系统 官方64位系统下载地 ...

  2. 使用国内镜像站下载树莓派 Raspberry Pi OS 操作系统

    关于如何为树莓派为树莓派一键更换国内 apt 镜像源,可参考之前的文章. 但是通过官网下载系统镜像也非常慢,从国内下载是一个有效的解决方案.目前网络上现有的经验均试图通过百度网盘或 BT 种子下载,效 ...

  3. 树莓派(Raspberry Pi OS)操作系统的选择

    树莓派(Raspberry Pi OS)操作系统的选择 树莓派官方的操作系统是Raspberry Pi OS,一共有三个版本(https://www.raspberrypi.org/software/ ...

  4. 树莓派4b风扇安装方法_树莓派安装Raspberry Pi OS系统

    给树莓派植入灵魂,作为一个微型电脑,必须要有操作系统才能使用,就像手机的安卓,电脑的Windows,进入树莓派官网www.raspberrypi.org/downloads/根据自己的电脑系统下载烧录 ...

  5. 树莓派Raspberry Pi OS开机自启动脚本

    树莓派Raspberry Pi OS开机自启动脚本 1. 需求和来源 2. 后台运行Python 3. 运行Terminal 1. 需求和来源 想让设备开机后就要运行Python工程文件 那么需设置l ...

  6. 下载和安装Raspberry Pi OS(以前称为Raspbian)

    一.在PC上插入TF卡(需要USB转TF硬件工具)        TF卡必须格式化为FAT32格式.       1.使用Raspberry Pi Imager官方工具安装Raspberry Pi O ...

  7. 树莓派系统安装-Raspberry Pi OS

    树莓派系统安装-Raspberry Pi OS 1.Raspberry Pi Imager 安装 1.1下载安装 1.2格式化SD卡 1.3安装镜像 2.配置 2.1打开SSH 2.2设置WIFI连接 ...

  8. 【树莓派-入门】树莓派Zero W利用Raspberry Pi Imager烧录系统+开机连接(2022-04-04 Raspberry Pi OS Bullseye)

    文章目录 前言 格式化内存卡 (1)删除磁盘分区 (2)新建简单卷 (3)格式化 方法一:用 Raspberry Pi Imager 安装 Raspberry Pi OS 1.选择OS和SD卡 2.进 ...

  9. Raspbian Lite安装图形界面

    一.安装条件 1.带命令行的Raspbian Lite,能正常联网 2.图形界面需要如下四个组件: a. Xorg Display Server b. Raspberry Pi Desktop (RP ...

最新文章

  1. es springboot 不设置id_es(elasticsearch)整合SpringCloud(SpringBoot)搭建教程详解
  2. 华硕p8b75v主板说明书_主板如何接线
  3. java 回收策略_Java堆回收策略
  4. Angular和SAP C4C的事件处理队列
  5. Flex4之与后台服务器通信方式:URLRequest+URLLoader【JAVA方式】
  6. python3安装后无法使用退格键的问题
  7. Atom插件主题推荐
  8. 使用Dynamic LINQ创建高级查询服务
  9. x11转发:通过ssh远程使用GUI程序
  10. 纯CSS打造的Family tree(族谱)
  11. 笔记本CPU和显卡的选择标准
  12. nodejs 遍历json数据_PostgreSQL 务实应用(四/5)JSON
  13. MySQL(16)--- DELETE 语句
  14. Atitit. Derby的使用总结attilax
  15. PHP 数字缩短(最多1倍)与还原
  16. markdown 表格代码在线生成工具
  17. 弹性模量及刚度之间的关系
  18. Java ques:Client does not support authentication protocol requested by server;Access denied user‘roo
  19. 【渝粤教育】国家开放大学2018年秋季 0062-21T港台文学专题讲座 参考试题
  20. JavasScript 第二天课 课后笔记 2022.3.24

热门文章

  1. 防静电手环在计算机中的功能,无线静电手环是怎样防静电的原理是什么
  2. 汽车启动档位,份4个
  3. hint: Updates were rejected because a pushed branch tip is behind its remote
  4. 关于nohup重定向日志按日期区分文件(未解决)
  5. Android 移动安全知识技术全解(加固技术、常规漏洞、Android 逆向......),移动安全问题不容忽视
  6. Allegro(17.2)——常用菜单栏(3)
  7. windows 下编译 DSview 记录
  8. 纯 CSS 的多级菜单
  9. 敏捷个人2012.5月份户外活动报道:0费用京郊经典户外路线【京西古道】
  10. java 数组传递是引用吗_数组是通过值传递还是通过Java引用传递?