You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Raspberry Pi实现屏幕分屏?并在分区运行独立程序

在Raspberry Pi上实现屏幕分屏并运行独立全屏程序

嘿,这个需求我之前帮朋友折腾过,刚好能给你一步步说清楚怎么实现~咱们分两大块来:先搞定顶部长条+下方区域的分屏布局,再让程序在指定分区里“全屏”运行。

一、搭建分屏布局

方法1:用默认桌面(Raspberry Pi OS的LXDE/Openbox)手动配置

树莓派默认用Openbox窗口管理器,你可以通过修改配置文件固定顶部窗口的位置和大小,下方区域自由调整或拆分:

  1. 计算顶部长条的像素高度:
    先根据你的屏幕尺寸换算,比如1080p(1920×1080)的24寸屏,1厘米高度约对应36像素,2-3厘米就是72-108像素左右。你可以先按100像素测试,不合适再微调。

  2. 修改Openbox窗口规则:
    编辑~/.config/openbox/lxde-pi-rc.xml(LXDE桌面)或~/.config/openbox/rc.xml,在<applications>标签里添加规则,把数字显示程序固定到顶部:

    <application name="你的数字显示程序名">
      <position>
        <x>0</x>
        <y>0</y>
        <width>100%</width>
        <height>100</height> <!-- 填你计算的像素高度 -->
      </position>
      <maximized>no</maximized>
      <fullscreen>no</fullscreen>
    </application>
    

    保存后重启Openbox生效:openbox --reconfigure

  3. 调整下方区域:
    下方区域可以用系统自带的右键“平铺”功能拆分,或者用wmctrl命令手动控制窗口位置,比如把一个窗口放在下方左半区:

    wmctrl -r "目标窗口标题" -e 0,0,100,960,980
    

    解释:-e参数格式是0,X,Y,宽度,高度,这里Y设为100(顶部条高度),宽度960(1920的一半),高度980(1080-100)。

方法2:用平铺窗口管理器(i3)更灵活

如果经常需要调整布局,换i3会省心很多,它天生支持自定义分屏:

  1. 安装i3:

    sudo apt update && sudo apt install i3
    

    重启后选择i3桌面登录。

  2. 配置顶部长条布局:
    编辑~/.config/i3/config,添加以下内容:

    # 工作区1默认布局:顶部长条+下方可拆分区域
    workspace 1
    split v # 垂直拆分屏幕
    exec --no-startup-id 你的数字显示程序名 # 启动顶部程序
    resize set height 100px # 固定顶部条高度
    split h # 下方区域默认水平拆分,可按需求改成split v
    

    登录后顶部会自动运行数字程序,下方区域用$mod+h/v就能快速拆分窗口,非常顺手。

二、让程序在指定分区“全屏”运行

要实现程序只占指定分区的“伪全屏”,有两种实用方法:

  1. 通过程序启动参数指定大小:
    很多程序支持直接设置窗口尺寸,比如终端:

    xterm -geometry 1920x100+0+0 # 顶部全屏条
    xterm -geometry 960x980+0+100 # 下方左半区
    

    要是你自己写程序,比如PyQt,也能在代码里定义窗口位置:

    from PyQt5.QtWidgets import QApplication, QMainWindow
    app = QApplication([])
    window = QMainWindow()
    window.setGeometry(0, 100, 960, 980) # X,Y,宽度,高度
    window.show()
    app.exec_()
    
  2. 用窗口管理器强制约束:
    比如用wmctrl批量调整,先启动程序再修改窗口:

    # 先启动程序
    你的程序名 &
    sleep 2 # 等程序加载完成
    # 调整窗口位置和大小
    wmctrl -r "程序窗口标题" -e 0,0,100,960,980
    

    在i3里更简单,直接给程序设置固定大小的规则就行,比如:

    for_window [class="你的程序名"] resize set 960 980, move to position 0 100
    

总结

临时用的话,默认桌面的配置就足够;长期需要灵活调整布局,推荐换i3。每个分区的程序都能独立运行,完全不会互相干扰。

内容的提问来源于stack exchange,提问作者Elias Schuhmacher

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:58:29