运行emacs时,将显示以下输出:

X protocol error: BadMatch (invalid parameter attributes) on protocol request 139
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
X protocol error: RenderBadPicture (invalid Picture parameter) on protocol request 139
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
Fatal error 6: Aborted
...
Aborted (core dumped)


是否有解决此问题的方法?

评论

详细什么是行不通的?您能否获得一些错误消息?

如果您需要帮助,则需要更加具体。而且,这更像是一个咆哮,而不是一个问题。

虽然这个问题并不是真正的问题,但也许有人尝试尝试还是可以进行编辑或回复。这似乎比盲目关闭更好。

@LewisGoddard r3bl在上面发布了错误跟踪(我也可以复制它)。由于Emacs可在Ubuntu上运行,因此这似乎是一个基本的错误。

问题仍然存在于Juno中,带有emacs25

#1 楼

这是一个已知的错误:Emacs-24在启动时崩溃。尽管此错误并非严格说来是针对基本操作系统的,但它是基本操作系统上的Emacs软件包中使用的图形工具包与某些主题(包括基本主题)之间的不兼容,因此与其他地方相比,在基本操作系统上发生这种错误的可能性要大得多。

Dominic在讨论旧的GTK +错误时注意到,将环境变量XLIB_SKIP_ARGB_VISUALS设置为1可以启动Emacs。我可以确认这一点。因此,可以从命令行运行

XLIB_SKIP_ARGB_VISUALS=1 emacs


,以便仅为Emacs方便地设置此变量(不要全局设置此变量,因为它可能导致其他应用程序出现问题) ,您可以创建启动器。为此,请打开“文件”,导航至/usr/share/applications并复制文件“ GNU Emacs 24”。导航到~/.local/share/applications并粘贴文件。如果您喜欢使用命令行:

更改线路

cp /usr/share/applications/emacs24.desktop ~/.local/share/applications




Exec=/usr/bin/emacs24 %F


现在可以启动类似地,如果您从会话启动中启动Emacs守护程序,而不是运行~/.local/share/applications/emacs24.desktop,请运行

Exec=/usr/bin/env XLIB_SKIP_ARGB_VISUALS=1 emacs24 %F


评论


可以将其设置为Elementary OS中的默认设置吗?几十年来最常用的(也是基本的)程序之一并没有用完,这是一种糟糕的用户体验。

–詹姆斯
17年4月3日在20:33

#2 楼

尝试从终端运行它,您会从字面上看到错误报告的链接。输出为:

X protocol error: BadMatch (invalid parameter attributes) on protocol request 139
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
X protocol error: RenderBadPicture (invalid Picture parameter) on protocol request 139
When compiled with GTK, Emacs cannot recover from X disconnects.
This is a GTK bug: https://bugzilla.gnome.org/show_bug.cgi?id=85715
For details, see etc/PROBLEMS.
Fatal error 6: Aborted
...
Aborted (core dumped)


在我看来,这是一个13年的GTK问题,而不是基本问题。

评论


您误读了该错误跟踪。实际错误是第一行。关于“当使用GTK编译时”的问题已有13年之久了,但这并不是导致Emacs崩溃的原因,而是另一个错误,它仅阻止Emacs从崩溃中部分恢复并继续运行。

–吉尔斯'所以-不再是邪恶的'
15年7月27日在22:26

#3 楼

XLIB_SKIP_ARGB_VISUALS=1 emacs在我的系统上可以正常运行

您可以在.bash_aliases文件中添加以下行

alias emacs='XLIB_SKIP_ARGB_VISUALS=1 emacs'


并通过在上面键入emacs来启动您的命令行

#4 楼

我建议您使用emacs-nox(在终端窗口中运行的版本)。
有AskUbuntu链接,告诉您如何下载它:
https://askubuntu.com/questions/23645 / how-do-i-download-the-command-line-emacs-instead-of-gui-one#23647

此版本可以正常使用,并且比IMO更好,因为可能仍会使用终端进行操作。

评论


emacs-nox不能替代那些习惯于GTK版本的用户,因为它具有完全不同的用户界面。最好在Elementary OS中实际修复此错误。

–詹姆斯
17年4月3日在20:28

#5 楼

因此,在Elementary上运行Emacs时会遇到各种各样的问题,并且在任何地方都找不到Emacs 25软件包的证据。但是,Emacs 25.3将在Loki上成功运行,而无需上面建议的任何有用的变通办法(这也将起作用-我已经使用股票Emacs 24尝试了其中的大多数方法)。如果您获得当前为25.3的源软件包(git clone https://git.savannah.gnu.org/git/emacs.git),则将其构建为-nox版本和gui版本(--with-x- toolkit = lucid),然后同时安装它们就可以了。当然,这不能保证您的emacs配置能够正常工作,并且我有一个非常老的.emacs文件和.emacs.d目录,其中包含所有模块和配置,以使其对我有用。

尽管我为我的emacs25-nox和我的emacs25都构建Deb,这些都处于早期阶段,并覆盖了常见文件。我只有emacs25的桌面文件(emacs-nox仅在没有gui的情况下在外壳中工作,所以为什么要在桌面中使用它)。我将其安装到/ usr / local / bin中,以便不覆盖标准emacs。我有早期的deb,例如emacs25.deb需要emacs25-nox,这样它才不会真正覆盖任何内容。如果可以,那么我愿意分享...