首页 > 其他分享 >Termux安装GUI应用并启用虚拟GPU

Termux安装GUI应用并启用虚拟GPU

时间:2024-11-02 20:20:21浏览次数:5  
标签:termux 安装 GUI Termux pkg x11 GPU data

目录

1.你知道吗,即使不用容器Termux也能运行桌面应用

1.使用VNC远程桌面

2.使用Termux-x11

2.没有桌面总感觉怪怪的,不是吗

1.安装桌面环境

2.VNC配置

3.Termux-x11配置

3.使用虚拟GPU驱动

1.安装 virglrenderer-android

2.启动virglrenderer-android

3.virglrenderer-android的缺陷

3.使用说明


1.你知道吗,即使不用容器Termux也能运行桌面应用

  • 启用X11仓库。
    pkg install x11-repo

    也可以添加一些其它有GUI应用的源,如tur源

    pkg install tur-repo

    然后我们就可以安装我们想要的软件了,r提示,可以通过以下指令在当前目录生成目前apt 和pkg可以安装的应用的TXT列表。

    apt list >> aptlist.txt
    pkg list-all >> pkglist.txt

  • 安装应用并运行

1.使用VNC远程桌面

安装vncserver

pkg install tigervnc

安装完成配置一下密码

#输入密码不会显示
Passwork:
Verify:
#看到以下提示是问你要不要设置一个vnc只读密码,根据自己需要选择即可(如果选择y需要再为只读vnc设置一个密码)
Would you like to enter a view-only password  (y/n)? n

以Firefox为例,

安装

pkg install firefox

启动

其它软件也是同理,不过一些软件的名称和它们的启动命令并不相同。

另外可以运行的一些常用软件

chromium (tur-repo)
code-oss (tur-repo) #没有微软依赖的vscode
thunar (x11-repo)
wine (x11-repo)
...

2.使用Termux-x11

这些应用当然也可以使用Termux-x11来显示

pkg install termux-x11-nightly #包含在x11-repo中,所以执行前别忘了pkg install x11-repo

安装完后执行

termux-x11 $prefix -xstartup "firefox"
                                 ^
                                 | 此处切换为你要启动的应用

Termux-x11 Android apk下载Releases · termux/termux-x11

启动

2.没有桌面总感觉怪怪的,不是吗

1.安装桌面环境

pkg install xfce4

这样就可以安装xfce4的基础套件,如果你安装完后发现少了一些重要功能,可以使用

apt list xfce4*

查找需要安装的组件并自行补全,或者直接安装所有xfce4的组件

apt install xfce4*

Termux还支持以下桌面环境

LXQT MATE OpenBox i3wm Weston
...

现在我们需要配置一下我们的远程桌面环境了(以xfce4为例)

2.VNC配置

nano .vnc/xstartup
#xstartup的绝对路径是/data/data/com.termux/files/home/.vnc/startup

你应该会看到这样的配置文件

#!/data/data/com.termux/files/usr/bin/sh
## This files is executed during VNC server
## startup.
# Launch terminal emulator Aterm.
# Requires package 'aterm'.
aterm -geometry 80x24+10+10 -ls &

# Launch Tab Window Manager.
# Requires package 'xorg-tw'.
twm &

保存原始的配置文件对我们总没有坏处对吧?

我们需要在它的代码前加上几段,改成这样

#!/data/data/com.termux/files/usr/bin/sh
## This files is executed during VNC server
## startup.
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec startxfce4
# Launch terminal emulator Aterm.
# Requires package 'aterm'.
aterm -geometry 80x24+10+10 -ls &

# Launch Tab Window Manager.
# Requires package 'xorg-tw'.
twm &

当然如果你不想改配置文件的话,你也可以通过以下命令来启动xfce4及其组件

export DISPLAY=:1 && vncserver :1 && startxfce4

请注意,如果你选择通过把上述代码保存为.sh文件来运行它时你不应该通过./name.sh或sh name.sh来运行它,而是通过source name.sh来运行它。

在电脑上的tigervnc是可以自动调整分辨率的,看起来就像一台真正运行着Linux的电脑。

3.Termux-x11配置

unset SESSION_MANAGER & unset DBUS_SESSION_BUS_ADDRESS & termux-x11 $prefix -startup "xfce4-session"

或者你安装了xwayland则只需要使用

termux-x11 $prefix -startup "xfce4-session"

我记的termux-x11关闭时不会把xserver的锁给删掉,导致再运行vncserver或termux-x11时端口数字会不断的往后蹦,你也可以写一个小脚本让termux-x11关闭时把锁给删掉

#!/data/data/com.termux/files/usr/bin/bash
handle_interrupt() {
  num=$(echo $prefix | cut -d ':' -f 2)
  file1="/data/data/com.termux/files/usr/tmp/.X11-unix/X${num}"
  file2="/data/data/com.termux/files/usr/tmp/.X${num}-lock"
  rm "${file1}" "${file2}"
}

trap="$1"

if [[ $prefix =~ ^:+[0-9]+$ ]]; then
   (unset SESSION_MANAGER & unset DBUS_SESSION_BUS_ADDRESS & termux-x11 $prefix -startup "xfce4-session")
elif [ "$1" = "-kill" ]; then
   if [[ $2 =~ ^:+[0-9]+$ ]]; then
        num=$(echo $2 | cut -d ':' -f 2)
        file1="/data/data/com.termux/files/usr/tmp/.X11-unix/X${num}"
        file2="/data/data/com.termux/files/usr/tmp/.X${num}-lock"
        rm "${file1}" "${file2}"
   fi
else
   echo "Usage: $0"
   echo "          [:<number>]
   echo "          [-kill :<number>]"
fi
        

使用方法

<脚本名称> :<数字>        #启动服务
<脚本名称> -kill :<数字>  #停止服务

3.使用虚拟GPU驱动

软件是装上了,但是图像处理能力约等于没有呢

1.安装 virglrenderer-android

pkg install virglrenderer-android

2.启动virglrenderer-android

virgl_test_server_android & export DISPLAY=:1 GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=3.2

记住export DISPLAY=:1 <---这里的数字要和你的远程桌面的数字一致

如果你新开了一个会话,并打算在新会话中开启远程桌面服务,那么你得重新导入一遍环境变量

export DISPLAY=:1 GALLIUM_DRIVER=virpipe MESA_GL_VERSION_OVERRIDE=3.2

这是WebGL的测试结果,基本可以稳定在60fpsWebGL

你问我为什么没有前后对照?因为在此之前WebGL在Firefox上根本跑不了,在Chromium上倒是可以显示个位数的帧率,但是没有图像.....刷新网页会卡死。

说实话这个帧率已经很不错了,让我来告诉你我们学校机房电脑的运行这个测试的情况,即使把数量拉到一个,棱面拉到最多它还是只有20fps左右。(我知道这样对比多少有点不公平,对于那台装着英伟达的显卡,但是英伟达的驱动却不认它,右键快捷方式反而有AMD GPU驱动快捷方式残留(好吧,好像是核显))

3.virglrenderer-android的缺陷

为什么这一节不跟安装桌面那一节一块讲呢?看看使用这个虚拟GPU后Chromium出了什么问题吧当然,基于Chromium的应用也是,这可不仅仅只有浏览器code-oss

3.使用说明

进入桌面你会发现用户名为Termux 的UID,所以一些文件无法访问,你也不能像在Linux上那样用sudo来以root权限打开应用,要使用root权限打开应用,请使用tsu启动远程桌面服务。

pkg install tsu
#安装完成后
tsu

然后再通过以上任意一种方式运行你的应用即可。

标签:termux,安装,GUI,Termux,pkg,x11,GPU,data
From: https://blog.csdn.net/qingting_flying/article/details/143450554

相关文章

  • 【水果识别】水果虫灾检测【含GUI Matlab源码 8966期】
    ......
  • Study Guide v2.1
    目录1.DataStructuresandAlgorithms1.1.LearningSuggestions:Howtolearnalgorithms?1.2.LearningMaterialList1.2.1.Booksrecommended1.2.2.Websites1.3.SubjectMatterDetails1.3.1.AboutAlgorithms1.3.1.1.Whatarealgorithms?1.3.1.2.Howdoweanaly......
  • NewStar easygui re wp
    NewStareasyguirewp参考题解:NewStarCTFweek4-CSDN博客提示先去看消息机制:深入理解windows消息机制_⒉消息队列发送消息,消息的标识可以从键盘获取,-CSDN博客大概看下64位无壳shift+f12没找到关键字符串,看看函数有个winmain点进去,都是些系统函数发现sub_14000149......
  • GPU服务器厂家独家:揭秘八卡 4090 整机价格差价巨大之谜!
     文章来源于百家号:GPU服务器厂家各位小伙伴们,大家好!今天咱们来聊聊当下火热的八卡4090整机市场。相信不少人都注意到了,同样是八卡的4090整机,价格却在17万至22万左右浮动,这巨大的价格差异究竟从何而来呢?首先,非GPU外配置的不同对价格影响显著。八张4090GPU每张......
  • Python GUI编程 tkinter编程
    tkinter编程思路比喻对于tkinter编程,主要用两个比喻来描述,重点理解容器、组件和布局管理器。 第一个,作画。我们都见过美术生写生的情景,先支一个画架,放上画板,蒙上画布,构思内容,用铅笔画草图,组织结构和比例,调色板调色,最后画笔勾勒。相应的,对应到tkinter编程,那么我们的显示屏就是支......
  • 【Unity】UGUI模拟NGUI的UISprite-->LImage
    UGUI本没有像NGUI方便使用图集的组件,之前也写过继承Image,加入SpriteAtlas作图集,切换图片显示的组件,现在弄一个3.0版本的这个组件的诞生源于上一篇:【Unity】Addressables下的图集(SpriteAtlas)内存优化==========================================================================......
  • Matlab之App Designer simulink模型调用及仿真结果显示在GUI界面上
    一、背景介绍在利用MatlabAppDesigner成功构建出直观的用户图形界面(GUI)后,我们可以采用代码调用Simulink模型,实现模型的调用与执行,并将分析结果实时反馈至GUI界面上。这一做法极大地增强了用户与应用之间的交互体验。本文将以案例讲解的方式,详细阐述如何通过MatlabAppDesig......
  • GPU 学习笔记三:GPU多机多卡组网和拓扑结构分析(基于数据中心分析)
    文章目录一、概述二、数据中心(DC)2.1数据中心简介2.2传统数据中心的网络模型2.3脊叶网络模型(Spine-Leaf)2.4Facebook的Fabric网络架构三、基于数据中心的多机多卡拓扑3.1Spine-Leaf架构网络规模测算方法3.2NVIDIA多机多卡组网防止遗忘和后续翻找的麻烦,记录下平......
  • 【Unity休闲风格UI资源】GUI - Casual Fantasy
    GUI-CasualFantasy是Unity的一款用户界面(GUI)插件,专为休闲幻想类游戏设计,提供了一套完整的UI资源和工具。该插件能帮助开发者快速搭建符合幻想风格的用户界面,适合各种类型的游戏,特别是带有轻松、卡通风格的RPG、冒险、策略等游戏项目。以下是它的主要功能和特点:1......
  • Meissonic:消费级 GPU 也能轻松生成高质量图像!阿里联合多所高校推出高效文生图模型
    ❤️如果你也关注大模型与AI的发展现状,且对大模型应用开发非常感兴趣,我会快速跟你分享最新的感兴趣的AI应用和热点信息,也会不定期分享自己的想法和开源实例,欢迎关注我哦!......