设置XDG_DATA_DIRS和XDG_DATA_HOME

我在设置环境变量时犯了一些错误。 现在我无法从控制台启动任何应用程序,并收到以下错误消息:
GLib-GIO-ERROR **: No GSettings schemas are installed on the system

我重新安装了gsettings-desktop-schemas,但显然这并没有帮助解决所有问题。
我设置了一个变量,因为我想让view3dscene可以从Dash启动。
XDG_DATA_HOME=/usr/local/share/
export XDG_DATA_HOME

并且

XDG_DATA_DIRS=/usr/local/share/
export XDG_DATA_DIRS

我在安装view3dscene时遇到了一个控制台警告,如下所示:
Note that '/home/XXX/.local/share' is not in the search path
set by the XDG_DATA_HOME and XDG_DATA_DIRS
environment variables, so applications may not
be able to find it until you set them. The
directories currently searched are:

- /root/.local/share
- /usr/local/share/
- /usr/share/

怎样才能正确地做这件事并修复那些错误的设置呢? 现在我不想重新启动系统,因为我有一种感觉,用那些错误的设置可能再也无法进入系统了..对吧?
祝好
1个回答

你有尝试退出登录然后重新登录吗?你不需要设置那些环境变量。默认情况下,/usr/local/share路径已经包含在XDG_DATA_DIRS中。
警告信息可能是因为你以root用户身份安装的,而不是普通用户。如果你正确安装了它,你应该可以忽略这个警告,并且能够正常以普通用户运行view3dscene。

我害怕退出登录,因为我注册了那些“GLib-GIO-ERROR **: 系统上没有安装任何GSettings模式”错误,所以我无法从Dash和控制台中运行view3dscene。现在,我只能通过点击二进制文件来运行应用程序。我还注意到,我无法从控制台中运行inkscape、gimp和所有我的标准应用程序,也收到了上述错误。 - user43484
你之所以会出现那个错误,是因为你弄乱了环境,并从终端运行了一个程序。你仍然可以从启动器中运行这些应用程序,对吧?你只需执行“unset XDG_DATA_HOME XDG_DATA_DIRS”,它很可能会再次在你正在使用的终端中正常工作。或者你可以关闭终端并启动一个新的终端。除非你将这些命令放在了你的~/.bashrc或其他地方。如果是这样,你应该将它们从那里删除。 - dobey
我已取消设置XDG_DATA_HOME和XDG_DATA_DIRS,我可以再次运行inkscape,但仍无法查看view3dscene,gimp显示以下错误:Gimp-Widgets-CRITICAL **: gimp_device_info_set_device: 断言`(info->device == NULL && GDK_IS_DEVICE (device)) || (GDK_IS_DEVICE (info->device) && device == NULL)'失败。我已重新启动,重新登录没有问题。 - user43484
好的。我不知道view3dscene是什么,也不知道为什么你无法运行它,但可能是因为它没有正确安装。它应该可以在不修改环境的情况下正常工作。如果不能正常工作,那就是其他问题了,但这与你在这里提出的问题无关。GIMP关于设备信息的CRITICAL错误也与此无关。既然我的回答已经满足了你的问题,你能否将其接受为答案呢?谢谢。 - dobey
HMM..view3dscene是一个具有最简单安装过程的3D模型查看器:http://castle-engine.sourceforge.net/view3dscene.php - user43484
那么我该如何让View3DScene能够从Unity Dash中启动呢?在Dash中的程序图标并不能启动它。目前,我只能在进入安装目录并启动二进制文件时才能运行该程序...这样太麻烦了。谢谢您的帮助。 - user43484