【分享】linux下安装sunshine串流配置进行远程办公

2024-04-15 22:28

本文主要是介绍【分享】linux下安装sunshine串流配置进行远程办公,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

前排提示教程内容比较短,废话比较多,需要看教程的建议直接跳目录

目录

前言(原因)

选择远程连接软件

三种连接软件的优劣以及体验

sunshine支持显卡

教程

注意事项

显示器

如果为远程部署


前言(原因)

由于新买了一块平板,作为一个  大号手机/泡面搭档  小号电脑,当然可以用它来做很多事情,作为一个经常玩linux的,首先想到的是可不可以用我的平板来远程操控我的Ubuntu系统,这样可以用它来远程编写代码或者是远程编译一些linux特有的软件环境。

其实之前使用termux来跑proot/chroot容器,实现本地运行linux系统,这里推荐一下酷安里目前有两位大佬做了一键安装包(名字分别是:小小电脑,安卓/鸿蒙补完计划)。这两个项目都是搭建好了环境可以实现在手机上运行vscode/wps/qq/微信......。

但是我自己有我的服务器,仅仅凭借手机的性能编写一些简单的代码或者是做做ppt还可以流畅运行,但是一旦要运行一些复杂的项目亦或者是搭建一些不兼容arm处理器的环境,就会各种出错。

目前对于我来讲最大的作用的就可以编写一些简单的c或者是python代码了。

选择远程连接软件

既然要用我这一台小服务器跑Linux并远程连接,那么选择相应的远程连接软件就尤为重要。

我当时我想到的有三个连接软件(vnc,rdp,moonlight/sunshine)

他们分别具有以下特点

  1. VNC连接(Virtual Network Computing): VNC是一种基于图形化界面的远程桌面协议,它允许用户通过网络远程控制另一台计算机。VNC连接的工作原理是将远程计算机的屏幕图像传输到本地计算机,并将本地计算机的输入传输到远程计算机。VNC连接的优点是跨平台支持广泛,可以在不同操作系统之间进行远程控制。然而,VNC连接的缺点是传输速度较慢,对网络带宽要求较高。

  2. RDP连接(Remote Desktop Protocol): RDP是一种由微软开发的远程桌面协议,用于在Windows操作系统上进行远程控制。RDP连接通过将远程计算机的桌面图像传输到本地计算机,并将本地计算机的输入传输到远程计算机来实现。RDP连接的优点是在Windows系统上具有较好的性能和稳定性,支持远程音频和打印功能。然而,RDP连接只适用于Windows系统之间的远程控制。

  3. Moonlight串流: Moonlight是一种开源的游戏串流技术,它允许用户通过网络将游戏从主机设备(如PC或游戏主机)流式传输到其他设备上进行游玩。Moonlight串流的优点是可以在不同平台上进行游戏串流,如将PC游戏流式传输到移动设备上进行游玩。然而,Moonlight串流对网络带宽和延迟要求较高,对游戏的图形质量和性能也有一定的影响。

三种连接软件的优劣以及体验

实际测试下来vnc在局域网连接效果非常好,并且不会出现图像bug,但是由于是传输的是解码后的图像,一旦离开局域网网速的劣势就体香了出来,利用公网ip进行连接时候,画面传输就会明显卡顿。

rdp得益于传输的是解码前的数据流,图像的解码交给客户端来操作,大小对比与图像会小很多,对于带宽的要求比较低,方式传输方式在局域网和公网都表现得到还不错。但是只是在windows端表现的很好,在Linux安装时,Windows电脑可以正常连接,但是平板连接会出现花屏,可能时兼容性问题。

moonlight串流与rdp有一点点类似,并且得益于开源,在兼容性以及流畅度方面都做得相当不错。不过试了试在Windows下连接延迟比较大,在平板上并不会出现这个问题。

经过权衡利弊后我选择了sunshine串流

sunshine支持显卡

得益于开源,sunshine的显卡支持非常好,从a卡,n卡,再到核显都可以完美运行。(不过i卡没有博主不知道行不行)

教程

在官方网站下下载相应型号的sunshine

Releases · LizardByte/Sunshine · GitHubSelf-hosted game stream host for Moonlight. Contribute to LizardByte/Sunshine development by creating an account on GitHub.icon-default.png?t=N7T8https://github.com/LizardByte/Sunshine/releases下载好后直接安装即可

dpkg -i 包名.deb

安装好后会出现依赖缺失

问题不大

运行一遍修复命令即可

sudo apt-get install -f

运行好后直接运行sunshine命令打开

sunshine

此时进入其显示出来的地址 https://localhost:47990

注意事项

显示器

此时注意显示器不能关,否则就会连接不上,并且强烈建议买一个5块钱的显卡欺骗器。否则就需要虚拟一块虚拟屏幕才可以连接。同时注意修改息屏时间为从不。

这时候我的sunshine的地址是https://localhost:47990,

如果为远程部署

注意,如果用非本机连接ip地址是连接不上去的,需要先关闭sunshine文件,然后修改Ubuntu的hosts文件

nano /etc/hosts

把localhost的值改为0.0.0.0

之后再次打开sunshine。

此时打开Ubuntu的ip后面跟上端口,这边是47990。

进去后设置密码以及用户名。

同时连接输入pin码就行了。

配置连接好后为了电脑安全,需要再次进入hosts文件把localhosts文件改回来

nano /etc/hosts

把localhost的值改为127.0.0.1即可

这篇关于【分享】linux下安装sunshine串流配置进行远程办公的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/907095

相关文章

mybatis映射器配置小结

《mybatis映射器配置小结》本文详解MyBatis映射器配置,重点讲解字段映射的三种解决方案(别名、自动驼峰映射、resultMap),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定... 目录select中字段的映射问题使用SQL语句中的别名功能使用mapUnderscoreToCame

防止Linux rm命令误操作的多场景防护方案与实践

《防止Linuxrm命令误操作的多场景防护方案与实践》在Linux系统中,rm命令是删除文件和目录的高效工具,但一旦误操作,如执行rm-rf/或rm-rf/*,极易导致系统数据灾难,本文针对不同场景... 目录引言理解 rm 命令及误操作风险rm 命令基础常见误操作案例防护方案使用 rm编程 别名及安全删除

Linux下MySQL数据库定时备份脚本与Crontab配置教学

《Linux下MySQL数据库定时备份脚本与Crontab配置教学》在生产环境中,数据库是核心资产之一,定期备份数据库可以有效防止意外数据丢失,本文将分享一份MySQL定时备份脚本,并讲解如何通过cr... 目录备份脚本详解脚本功能说明授权与可执行权限使用 Crontab 定时执行编辑 Crontab添加定

Java使用jar命令配置服务器端口的完整指南

《Java使用jar命令配置服务器端口的完整指南》本文将详细介绍如何使用java-jar命令启动应用,并重点讲解如何配置服务器端口,同时提供一个实用的Web工具来简化这一过程,希望对大家有所帮助... 目录1. Java Jar文件简介1.1 什么是Jar文件1.2 创建可执行Jar文件2. 使用java

SpringBoot 多环境开发实战(从配置、管理与控制)

《SpringBoot多环境开发实战(从配置、管理与控制)》本文详解SpringBoot多环境配置,涵盖单文件YAML、多文件模式、MavenProfile分组及激活策略,通过优先级控制灵活切换环境... 目录一、多环境开发基础(单文件 YAML 版)(一)配置原理与优势(二)实操示例二、多环境开发多文件版

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

使用docker搭建嵌入式Linux开发环境

《使用docker搭建嵌入式Linux开发环境》本文主要介绍了使用docker搭建嵌入式Linux开发环境,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录1、前言2、安装docker3、编写容器管理脚本4、创建容器1、前言在日常开发全志、rk等不同

Java实现远程执行Shell指令

《Java实现远程执行Shell指令》文章介绍使用JSch在SpringBoot项目中实现远程Shell操作,涵盖环境配置、依赖引入及工具类编写,详解分号和双与号执行多指令的区别... 目录软硬件环境说明编写执行Shell指令的工具类总结jsch(Java Secure Channel)是SSH2的一个纯J

MySQL8 密码强度评估与配置详解

《MySQL8密码强度评估与配置详解》MySQL8默认启用密码强度插件,实施MEDIUM策略(长度8、含数字/字母/特殊字符),支持动态调整与配置文件设置,推荐使用STRONG策略并定期更新密码以提... 目录一、mysql 8 密码强度评估机制1.核心插件:validate_password2.密码策略级

ShardingProxy读写分离之原理、配置与实践过程

《ShardingProxy读写分离之原理、配置与实践过程》ShardingProxy是ApacheShardingSphere的数据库中间件,通过三层架构实现读写分离,解决高并发场景下数据库性能瓶... 目录一、ShardingProxy技术定位与读写分离核心价值1.1 技术定位1.2 读写分离核心价值二