Mpv drops GNOME support (reverted later)

栏目: IT技术 · 发布时间: 4年前

内容简介:Most of the developers of the GNOME desktop environment have the strange idea that GNOME is somehow a "platform" that is separate from, and not a part of, the overall GNU/Linux ecosystem. One direct result of this self-isolation has been the regular breaka

Mpv drops GNOME support (reverted later)

Most of the developers of the GNOME desktop environment have the strange idea that GNOME is somehow a "platform" that is separate from, and not a part of, the overall GNU/Linux ecosystem. One direct result of this self-isolation has been the regular breakage of non-GNOME software when it is running in GNOME. This has affected free software project like mpv, SuperTuxKart, SDL and many more. One mpv developer who has had enough of GNOME nonsense made mpv print a "no support" message and exit if it was running under GNOME earlier today.

written by 윤채경 (Yoon Chae-kyung) . published 2020-07-07last edited 2020-07-09

Mpv drops GNOME support (reverted later)

mpv playing a WJSN performance of their hit "Star" on the South Korean television show "Music Bank".

mpv developer wm4 removed GNOME support frommpv earlier today with a commit titled "Stop supporting GNOME" which explained that:

" On GNOME, you're supposed to use native GNOME software anyway. "

mpv developer wm4

Mpv drops GNOME support (reverted later)

The code in the commit added these lines tompv:

const char *xdg_current_desktop = getenv("XDG_CURRENT_DESKTOP");
    if (xdg_current_desktop && strstr(xdg_current_desktop, "GNOME")) {
        struct mp_log *log = mp_log_new(NULL, global->log, "vo");
        mp_fatal(log, "This player does not support GNOME.\n");
        talloc_free(log);
        return NULL;
    }

Those paying attention will notice the return NULL; at the end - which madempv abort and exit after printing a "This player does not support GNOME" message ifmpv was launched in the GNOME desktop environment.

wm4 later, in a moment of weakness, reverted the commit and replaced the code with a far less based version that only warns GNOME users that they are using a platform developed by egomaniac developers who have no regard for their users or developers of non-GNOMEfree software:

const char *xdg_current_desktop = getenv("XDG_CURRENT_DESKTOP");
    if (xdg_current_desktop && strstr(xdg_current_desktop, "GNOME")) {
        struct mp_log *log = mp_log_new(NULL, global->log, "vo");
        mp_fatal(log, "GNOME detected. Things will be broken.\n");
        talloc_free(log);
    }

Notice that the revised code does not have a return NULL; line after talloc_free(log); .mpv will, with this commit, still run as poorly as non-GNOME software runs on GNOME these days.

Dropping support for GNOME may seem like a drastic move but it is not at all shocking to those of us who have paid attention to how to the GNOME developers have been treating the rest of the GNU/Linux ecosystem like dirt the last few years. That, combined with a silly view that GNOME is a specialsoftware platform that is apart from, and not part of, the GNU/Linux ecosystem, has made it increasingly difficult to ensure thatfree software works as it should when it is running on theGNOME desktop environment. This problem is unique to GNOME; developers of games like The Secret Chronicles of Dr. M. can write with multi-platform support in mind and easily make the software run on Windows, macOS and all sane GNU/Linux desktop environments likeKDE Plasma, LXQt , Xfce ,IceWM and so on. GNOME is the only desktop environment that requires developers to write lines upon lines of code with GNOME-specific tweaks in order to satisfy unique special snowflake GNOME requirements.

Somefree software projects have a very hard time making their software function properly under GNOME due to its intentional lack of basic building blocks like server-side window decorations which all other desktop environments have. The GNOME projects latest refusal to add a simple standardized Wayland method of inhibiting screensavers using idle-inhibit , somethingmpv needs, is what promoted wm4 to add the line of code that madempv refuse to run under GNOME. It is yet another sad example of how the GNOME developers act towards the overall GNU/Linux ecosystem:

" I'd contend that an unstable protocol (..) not implemented by a project like GNOME isn't "widely accepted". "

As developer Drew DeVault pointed out in a response,

" GNOME is the only compositor which doesn't support it, which makes it qualify for widely supported in my book. "

Drew DeVault

on GNOME issue #2202

TheGNOME projects unique blindness to the world outside of that toxic cesspool means thatfree software developers, and commercial developers, are forced to choose between two bad choices: They can either do a lot of extra work to make the software work underGNOME, even though it already works fine with all the other desktop environments, or dropGNOME support.mpv has finally had enough of their nonsense and gone with the "drop GNOME support" option.

mpv has had a FAQ entry titled " I use GNOME Wayland and I have x/y/z problem! " outlining some of the GNOME-specific programs that software project have to deal with for quite some time. The GNOME projects latest refusal to "write a few lines of code to support a very simple standard protocol" is simply the latest example of how difficult it is to work with the individuals in control of that particular project.

mpv may still run on GNOME but it will no longer be supported in the sense that those who use GNOME and run mpv and experience problems won't get help with their GNOME-specific problems. We expect that morefree software projects will choose that route in the future as the GNOME developer team becomes increasingly difficult to work with.

The sad part is that this goes both ways. Some GNOME "apps", like Cheese, can simply not be used outside of GNOME. wm4 was right when he implied that the GNOME attitude is that "On GNOME, you're supposed to use native GNOME software anyway.". We can add: "You are only supposed to run GNOME apps on GNOME".

It would be a lot better if all parts of the GNU/Linux ecosystem could work together and ensure compatibility between allfree software programs and allfree software desktop environments. It is very unfortunate that a sub-set of the free software community is hell-bent on going in the opposite direction.

Mpv drops GNOME support (reverted later)
TIP: You can usempv to searchYouTube and play the search results by running mpv ytdl://ytsearch[n]:keywords (replace [n] with the number of search results you want added to the playlist - without brackets) if you have youtube-dl installed. Try mpv ytdl://ytsearch5:rockit\ little\ cat to enjoy a wonderful song by the South Korean duoRockit Girl!

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

UNIX环境高级编程

UNIX环境高级编程

W.Richard Stevens Stephen A.Rago、Stephen A. Rago / 人民邮电出版社 / 2006-2 / 99.00元

本书是被誉为UNIX编程“圣经”的Advanced Programming in the UNIX Environment一书的更新版。在本书第一版出版后的十几年中,UNIX行业已经有了巨大的变化,特别是影响UNIX编程接口的有关标准变化很大。本书在保持了前一版的风格的基础上,根据最新的标准对内容进行了修订和增补,反映了最新的技术发展。书中除了介绍UNIX文件和目录、标准I/O库、系统数据文件和信......一起来看看 《UNIX环境高级编程》 这本书的介绍吧!

JS 压缩/解压工具
JS 压缩/解压工具

在线压缩/解压 JS 代码

RGB转16进制工具
RGB转16进制工具

RGB HEX 互转工具

在线进制转换器
在线进制转换器

各进制数互转换器