文章目录

  • 前言
  • 摘要
  • linux中原生OBS的安装
    • 使用官方源进行安装
    • 添加PPA
  • 分析原因
    • 搜索资料
    • wayland和X11
    • 解决方法一:wayland_to_Xorg
  • 隔离环境
    • 解决方法二:flatpak
    • 其他

前言

最近脑子一热,给笔记本安装了Ubuntu 21.04

The latest version of the Ubuntu operating system for desktop PCs and laptops, Ubuntu 21.04 comes with nine months, until January 2022, of security and maintenance updates.

Recommended system requirements are the same as for Ubuntu 20.04.2 LTS.

笔记本平常也不用,装了便装了。目前来说,不大好用。鼠标选中,左键删除这个功能,我找了半天,不知道如何disable。。

下面记录了我在ubuntu21.04上安装OBS的过程。

PS:ubuntu21.04之前的版本,按照官网提供的方式安装就好。

摘要

ubuntu21.04默认使用wayland,而非X11,导致录屏软件OBS无法抓取到屏幕。

解决这个问题,有两种方法:

  • 第一种是将协议改回使用X11。
  • 第二种是使用flatpak[原理我不知道]。

OBS的讨论区可以自行参考:在Wayland中运行OBS

如果遇到的了其他问题,可以参考:flathub/com.obsproject.Studio – issue

linux中原生OBS的安装

使用官方源进行安装

进入OBS的官网,查看ubuntu中OBS的安装方式。

➜ sudo apt install ffmpeg
# sudo add-apt-repository ppa:obsproject/obs-studio
➜ sudo apt update
➜ sudo apt install obs-studio

我没有add repository,默认安装了这个源[http://cn.archive.ubuntu.com/ubuntu hirsute/universe]中obs-studio。此时的OBS版本是26.1.2。它无法采集到ubuntu21.04的屏幕。如下图所示。同时,在OBS采集桌面的时候,火焰截图(v0.8.5-4),无法对截图部分添加文字。

➜ sudo apt purge obs-studio

添加PPA

尽量不要直接下载deb包进行安装。因为有可能无法使用upgrade进行更新。我习惯使用google <软件包名> + ppa的方式进行安装。关于ppa的介绍可以参考:add-apt-repository命令详解

这里是chrome和vscode使用ppa的安装方式,相当方便:3rd Party Repository: Google Chrome、3rd Party Repository: VSCode

ps:apt-add-repositoryadd-apt-repository 作用相同。因为前者是后者的软链接。喜欢用哪个都成。

➜ add-apt-repository ppa:obsproject/obs-studioRepository: 'deb http://ppa.launchpad.net/obsproject/obs-studio/ubuntu/ hirsute main'
Description:
Latest stable release of OBS Studio
More info: https://launchpad.net/~obsproject/+archive/ubuntu/obs-studio
Adding repository.
Press [ENTER] to continue or Ctrl-c to cancel.
Adding deb entry to /etc/apt/sources.list.d/obsproject-ubuntu-obs-studio-hirsute.list
Adding disabled deb-src entry to /etc/apt/sources.list.d/obsproject-ubuntu-obs-studio-hirsute.list
Adding key to /etc/apt/trusted.gpg.d/obsproject-ubuntu-obs-studio.gpg with fingerprint BC7345F522079769F5BBE987EFC71127F425E228
...
错误:7 http://ppa.launchpad.net/obsproject/obs-studio/ubuntu hirsute Release   404  Not Found [IP: 2001:67c:1560:8008::19 80]
...
E: 仓库 “ hirsute Release” 没有 Release 文件。
N: 无法安全地用该源进行更新,所以默认禁用该源。
N: 参见 apt-secure(8) 手册以了解仓库创建和用户配置方面的细节。
...

没有release。。我们到obsproject中,可以看到OBS Studio 和 OBS Studio Unstable 。OBS Studio中最新稳定版本,没有ubuntu21的。但是OBS Studio Unstable有。

那很简单了,我们替换使用unstable的版本试试。

➜ sudo add-apt-repository -r ppa:obsproject/obs-studio
➜ sudo add-apt-repository  ppa:obsproject/obs-studio-unstable# ➜ sudo apt update
➜ sudo apt install obs-studio

一边快乐的扣手机,一边等待安装完成。但是,,安装完成之后,看到最新的unstable版本也不行。

给它删了。

➜ sudo apt purge obs-studio
➜ sudo add-apt-repository -r ppa:obsproject/obs-studio-unstable

分析原因

搜索资料

我用中文搜索了下,看到win10中OBS黑屏的解决办法:【OBS】最新版OBS黑屏问题的解决办法!win10用户进来看!-- TimLiu_-- bilibili

我可以将win10中的这个解决思路,搬到ubuntu21中查看下吗?我估计办不到,能力不行^_^。

那我再用英文搜索:ubuntu obs-studio blank screen。我从已知原因的角度,顺序讲解。

  1. 我们需要查看Ubuntu21.04相对于Ubuntu20.04有哪些不同:Ubuntu 21.04: Yes, there ARE new features - Review + variants – The Linux Experiment – youtube | Hirsute Hippo Release Notes – 官方文档 – 略

    The first thing of note is that Ubuntu 21.04 uses Wayland by default.

  2. wayland和OBS有什么关系:Native OBS Support Finally Coming To Wayland – Brodie Robertson – youtube

    obs可以捕获音频,但是桌面捕获并不完全可以。obs的linux构建基础上拒绝于x11。你可以通过xwanland运行它,但是你仍然不能真正的进行桌面捕获并给你带来一些开销。原因是wayland协议实际上并未提供与捕获x11相同的api

    有人为obs制作了一个插件,这个插件可以让obs在wayland上进行桌面捕获。插件在gitlab上,名字叫obs-xdg-portal。并且这个插件代码已经合并到 obs 27中。【??那为啥我上面的obs 27不行??】。它的原理是利用pipewire。

    还有个关键词flatpak,[Flatpak Improvements]但是我没听懂他在说啥。。[我的原因]

  3. wayland是什么:WAYLAND: what is it, and is it ready for daily use? – The Linux Experiment – youtube

    也许大家,感兴趣的Linux桌面已经听说了韦兰。接下来的大事,是X.org的替代品,它是在Linux上的性能和图形方面解决了许多麻烦的解决方案。…

PS个人理解:通过上面的视频,我们知道xwayland和obs-xdg-portal,可以在一定程度上解决问题。但是flatpak可以很好的解决。flatpak也是我唯一尝试过在wayland上使用obs-studio的方法

下面,我们顺便瞅瞅 wayland和X11的相关内容。

wayland和X11

很早之前,我在看《鸟哥私房菜》的时候看过X11:第二十三章、X Window 設定介紹

wayland官方文档中也给出了Wayland Architecture和的区别:Wayland Architecture

我不怎么明白里面的含义,但是为了blog的好看,我把它俩的结构图搬到这里,o(∩∩)o…哈哈。

既然知道是wayland的原因,导致obs无法使用。那我们将其切换回X11,应该便可以解决问题。结果也确实如此,如下所示。

解决方法一:wayland_to_Xorg

将ubuntu21.04默认的wayland切换成Xorg,这样obs-studio便可以正常工作了。

图形化切换方式也很简单,注销之后,点击密码框,在屏幕的右下角设置里面变可以切换了。如下图所示。

【命令行解决的话,可以参考这里,但是我没有验证这两者是不是同一件事:Ubuntu 20.04 Black screen issue not even cursor for window capture】

之后,obs可以正常工作了。

但是,使用这个方式,我的整个桌面使用的都是Xorg。这并不是我想要的。

➜ sudo apt purge obs-studio

隔离环境

obs这件事,或许不应该从隔离环境的角度来考虑这个问题。因为这里默认只有wayland,而隔离环境中也无法提供X11作用。

但既然是使用flatpak来解决问题,我们不妨看下这两个视频:Snap VS Flatpak – Houge_Langley – bilibili | Flatpak vs Snaps vs Appimage vs Packages - Linux packaging formats compared – The Linux Experiment – youtube

隔离环境很有用,特别是在新的系统推出,一些用户软件还没来得及更新适配的时候。这时候,隔离环境可以帮我们解决临时之需。待用户软件更新,舍弃使用隔离环境,继续使用原生软件。

解决方法二:flatpak

官方文档:Flatpak简介

Flatpak是一个用于在Linux上分发桌面应用程序的框架。它类似于一个沙箱,可以将一些依赖整体打包。

flatpak 命令并不复杂,我们使用flatpat安装obs-studio。

我们到 Flathub 中搜索obs,找到OBS Studio。然后按照它的方式安装就好。

# 安装Flatpak
➜ sudo apt install flatpak# 添加Flathub存储库
➜ flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo# 列出远程仓库
➜ flatpak remotes# 从flathub仓库中安装obs
➜ flatpak install flathub com.obsproject.Studio# 列出安装的应用
➜ flatpak list --app# 可以选择从命令行启动
➜ flatpak run com.obsproject.Studio
# 也可以点击应用程序图标启动# 如果将来想要删除它
➜ flatpak uninstall com.obsproject.Studio# 也可以删除仓库
➜ flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo# 如果需要更新:更新所有的应用和运行时到最新版本
➜ flatpak update

结果如下,obs可以正常使用,也不会对其他程序造成干扰,good

我们也可以创建自己的flatpak应用:创建GTK+ flatpak 应用

还看到一个好玩的:linux使用flatpak快速安装TIM,QQ,微信,迅雷,百度云 - 问题修复版 – Live in linux

其他

另外两个我没有尝试:OBS Studio – snap、OBS Studio – appimage

我还在docker hub中搜了以下OBS Studio – docker。没找见是比较right的。关于docker可以参考我之前的一篇文章,虽然挺烂:docker入门

ubuntu21.04中OBS的安装方式相关推荐

  1. Linux中软件的安装方式

    Linux系统中软件的主要安装方式 [方式一]下载编译好的压缩包 这种安装方式与Windows下的.exe可执行安装文件类似,压缩包内一般是编译好的可执行二进制文件,直接解压.配置软件的相关文件即可使 ...

  2. win10和Ubuntu16.04中基于anaconda安装TensorFlow(CPU+GPU)

    目录 Windows系统下安装步骤 安装CPU版本的tensorflow 安装GPU版本的tensorflow(使用GPU加速的tensorflow模型训练速度更快) Ubuntu中的安装步骤 安装C ...

  3. ubuntu16.04中源码安装仅仅支持CPU的TensorFlow

      直接用pip3安装的tensorflow在运行代码时,总是会提醒另一种更加高效率的编译模式,很烦人,再加上据说在CPU上计算速度会加倍,于是就尝试用tensorflow的源码进行安装,主要参考了T ...

  4. Ubuntu16.04中VIM的安装

    1.在命令行敲入"vi"后按"tab"键,可以看到目前系统中只安装了vi和vim.tiny. vim是从VI发展而来的一个文本编辑器,功能更强大.而vim.ti ...

  5. ubuntu21.04怎么创建桌面快捷图标? ubuntu软件放到桌面的技巧

    ubuntu21.04怎么创建桌面快捷图标? ubuntu软件放到桌面的技巧 01背景 02 代码步骤明细 01背景 ubuntu21.04怎么创建桌面快捷图标?在windows系统中用习惯了桌面快捷 ...

  6. Python+Anaconda中库的安装

    查看Anaconda中的Python的开发环境 (1)conda env list 不同环境中库的安装 方式一:  Pycharm+Anacond安装完成后的Python文件创建以及No module ...

  7. Linux下的软件安装方式+源码安装软件cmatrix代码雨

    Linux下的软件安装方式 1 rpm工具安装 2 yum工具安装 3 源码编译安装 软件包类型 1 二进制软件包(=rpm软件包) 无需编译,直接安装 根据计算机CPU架构类型和操作系统选择合适的软 ...

  8. Eclipse插件的8种安装方式

    Eclipse插件的安装总结 最近在做eclipse插件开发的项目,由于刚刚接触,一开始对Eclipse平台中插件的安装方式并不是了解,踩过了一些坑,也总结了一点经验.在此,做一个关于Eclipse插 ...

  9. Ubuntu 18.04 下wine的安装以及wine-mono, wine-gecko 的安装

    Ubuntu 18.04 下wine的安装以及wine-mono, wine-gecko 的安装 deepin-wine 的安装 安装方法: 问题汇总: wine 的安装 安装方法: 问题汇总: 因为 ...

最新文章

  1. 【c语言】判断一个数是否为素数
  2. 大规模落地:AI安防仍存两大痛点
  3. Apache Thrift使用简介
  4. JAVA笔记13__创建线程/线程休眠/等待线程终止/线程中断/守护线程
  5. 云上自动化 vs 云上编排
  6. 【es】Node与NodeEnvironment的实例化
  7. python的dropna 和notna的性能_python数据分析学习(7)数据清洗与准备(1)
  8. fatjar: eclipse导出工具
  9. DPDK分析——UIO
  10. Web端高保真动态交互Axure元件库
  11. B/S WEB端条码打印系统 斑马条码打印解决方案
  12. Linux 服务器安全加固方案
  13. python程序设计题库-知到智慧树_Python程序设计基础_完整免费答案
  14. Oblog的一些整理
  15. linux suse11 sp3安装,SUSE Linux Enterprise Server 11 SP3安装教程详解
  16. 为XYplorer添加右键菜单:“使用XYplorer打开”
  17. vs2013编译ffmpeg之二十六 opus、shine
  18. 安彦Linux系统时间同步
  19. Improved Techniques for Training GANs 代码执行中的坑 python3.6 tf环境
  20. 基于51单片机的汽车测速仪表红外避障车辆高速测速方案原理图设计

热门文章

  1. An Inconvenient Truth - 告诉你真实的温室效应
  2. 如何将立创商城的原理图符号和封装导入AD中
  3. 影像已成为小米手机向上的强劲动力
  4. 【2008nmj】GDA二元分类.docx
  5. uml点餐系统活动图_UML活动图(转载)
  6. 【CSS】2022新特性
  7. design thinking
  8. 数字图像处理——中值滤波降噪
  9. JWT在线解码网址和结构介绍
  10. 文件上传接受的类型:file的accept属性