欺骗 Slack 认为您没有多个显示器

欺骗 Slack 认为您没有多个显示器

据我所知,当您有多个屏幕时,无法在 Linux Slack 应用程序中选择要共享的单个屏幕。因此,在我的 3 屏幕设置中,屏幕共享实际上无法使用。

所以我想知道是否有一种方法可以通过某种配置文件/环境变量等“欺骗”Slack(或任何其他Linux应用程序)认为我只有一个屏幕?

我尝试使用 KDE 的“特殊应用程序设置”功能将 Slack 锁定到一个屏幕,但没有成功。

还有其他建议吗?

我运行的是 Kubuntu 18.04。

谢谢!

答案1

不是我的答案,但是为我工作:

我通过使用“v4l2loopback”找到了解决方法。如下所示,通过使用“v4l2loopback”,ffmpeg 可以将屏幕捕获的电影输出到 v4l2 设备。然后,在 Slack 应用程序中,您可以共享屏幕作为相机输入。

$ sudo modprobe v4l2loopback exclusive_caps=1
$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 \
 -i :0.0+0,0 -f v4l2  -vcodec rawvideo -pix_fmt rgb24 /dev/video1
  • 将“1920x1080”更改为您要捕获的屏幕尺寸。
  • 将“+0,0”更改为屏幕的起点。
  • 更改/dev/video1为您的 v4l2loopback 设备sudo modprobe v4l2loopback exclusive_caps=1

因此,如果您/dev/video1通过 v4l2loopback 制作,并且左右有两个“1920x1080”尺寸的显示器屏幕。

对于左屏幕:

$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+0,0 -f v4l2 \
 -vcodec rawvideo -pix_fmt rgb24 /dev/video1

为了获得正确的屏幕:

$ ffmpeg -f x11grab -framerate 30 -video_size 1920x1080 -i :0.0+1920,0 -f v4l2 \
  -vcodec rawvideo -pix_fmt rgb24 /dev/video1

该同事还制作了以下命令行工具,可以更轻松地执行这些命令:https://github.com/BlueSkyDetector/set_v4l2loopback_screen

笔记:

  • 我必须v4l2loopback-dkms在 Ubuntu 18.04 上安装:

    $ sudo apt-get install v4l2loopback-dkms

  • modprobe为我创建/dev/video0,因为我没有安装任何其他相机

相关内容