常见疑问(F.A.Q.) - 9. 特定软件包使用问题
Q9.1: 在 XMMS 中我听不到声音。
A: 确定你在 XMMS 的 preferences 中选择了 "eSound Output Plugin"。 由于一些很奇怪的原因,它默认选择 disk writer 插件。
如果还不行或 XMMS 提示说找不到你的声卡,尝试这个办法:
- 确定你没有在 Mac OS X 中把声音输出设定为静音状态。
- 运行
esdcat /usr/libexec/config.guess
(或任意一个有一定长度的文件)。 如果你能听到一些短的声音,eSound 工作正常,那么如果配置正确的话 XMMS 应该也可以工作。 如果你听不到任何声音,因为某种原因,esd 没有工作。 你可以尝试手工启动esd &
并观察消息的输出。 -
如果还不行,检查
/tmp/.esd
和/tmp/.esd/socket
文件的权限。 它们应该是被你的普通用户帐号所拥有。 如果它们不是由你拥有,杀掉运行中的 esd 进程,用 root 权限删除那些目录(sudo rm -rf /tmp/.esd
),然后重新启动 esd (作为普通用户,而不是 root)。
注意 esd 是设计为由普通用户运行,而不是 root。
它通常通过文件系统的套接字
/tmp/.esd/socket
来通信。
如果你希望在网络上的另一台计算机上运行 esd 客户,你只需要添加 -tcp
和 -port
开关。
还有一些报告说 XMMS 在 10.1 下会崩溃或挂掉。目前我们还没有分析或修正。
Q9.2: 在我用 nedit 编辑一个文件时,想要打开另外一个文件,但窗口出现了,却没有响应。
A: 这是 nedit
和 lesstif
的当前版本在所有平台上的已知问题。暂时的办法时用 File-->New 先打开一个窗口,然后打开你需要打开的另一个文件。
在 nedit-5.3-6
中这个问题得到修正,这个版本依赖于 openmotif3
而不是 lesstif
。
Q9.3: 求救!当我启动 XDarwin,它立刻就退出了!
A: 不要惊慌。 现在《运行 X11》文档有专门一部分《故障排除》针对这个常见问题。
Q9.4: 当我尝试启动 XDarwin 的时候,我碰到这个错误信息:"xinit: No such file or directory (errno 2): no server "/usr/X11R6/bin/X" in PATH"。
A: 首先,确定你在你的 X 启动文件 ~/.xinitrc
中引用了 init.sh 文件。
在 Jaguar 中,有时会构建了所有的 xfree86
软件包,但只有 xfree86-base
和 xfree86-base-shlibs
被安装了。检查时候已经安装了 xfree86-rootless
和 xfree86-rootless-shlibs
。如果没有,运行 fink install xfree86-rootless
应该可以解决问题。
如果你都安装了它们,那么尝试 fink rebuild xfree86-rootless
。如果还不行,检查是否有把 /usr/bin/X11R6
包括在你的 PATH 中。
Q9.5: 我希望苹果 X11 里面删除键和 XDarwin 中的作用一样。
A: 有些用户报告说 XDarwin 和苹果 X11 中删除键的行为不一样。这可以通过在恰当的 X 启动文件中添加几行来修正:
.Xmodmap 里面:
keycode 59 = Delete
.Xresources 里面:
xterm*.deleteIsDEL: true xterm*.backarrowKey: false xterm*.ttyModes: erase ^?
.xinitrc 里面:
xrdb -load $HOME/.Xresources xmodmap $HOME/.Xmodmap
Q9.6: 我从 GNOME 1.x 升级到 GNOME 2.x,现在gnome-session
不会打开一个窗口管理器。
A: 在 GNOME 1.x 下,gnome-session
自动调用 sawfish
窗口管理器;在 GNOME 2.x 下,你要在运行gnome-session
之前在 ~/.xinitrc
启动窗口管理器:
... exec metacity & exec gnome-session
Q9.7: 我在 Panther 中升级到苹果 X11,现在看不到窗口的标题栏了。
A: 你还没有升级到与 Panther 一起提供的 X11 版本 "X11 1.0 - XFree86 4.3.0"。你可以在第三张光盘的 X11.pkg 安装 X11。
Q9.8: I'm having problems with X11 and Fink.
A: There are two possibilities to consider.
-
You are installing from binaries:
Typically what you need to do is reinstall the X11User package, since the installer application occasionally misses installing a file. You may need to repeat this multiple times. Running
fink list -i system-xfree86
should show that the
system-xfree86
andsystem-xfree86-shlibs
packages are installed, andfink list x11
should indicate that the
x11-shlibs
andx11
virtual packages are present.If reinstalling the X11User package doesn't work, then consult the special debug instructions, below.
-
You are installing from source:
Typically this error means that you need to (re)install the X11SDK, which is mandatory if you want to build packages from source. It is in the Xcode Tools folder of a Tiger DVD, or (Optional Installs/)Xcode Tools/Packages on your Leopard DVD(s). If you run
fink list -i system-xfree86
it should show the
system-xfree86
,system-xfree86-shlibs
, andsystem-xfree86-dev
packages as installed. If the-dev
package is missing, reinstall the X11SDK, since sometimes the Apple Installer misses a file. You may need to keep doing this. If either of the other two are missing, then reinstall the X11User package (same reason). At this pointfink list x11
should indicate that the
x11-dev
,x11-shlibs
, andx11
virtual packages are present.If reinstalling the X11SDK or X11User package doesn't work, then consult the special debug instructions, below.
Q9.9: I'm still having problems with X11 and Fink.
A: If the hints in the Fink tries to install XFree86 or X.org or X11 and upgrade from 10.2 entries don't help, or aren't applicable to your situation, you may need to flush out your X11 installation and remove any old placeholders and partially/fully installed X11-related packages:
On Leopard, use
sudo pkgutil --forget com.apple.pkg.X11User sudo pkgutil --forget com.apple.pkg.X11SDKLeo
Then, on either 10.4 or 10.5, run
sudo dpkg -r --force-all system-xfree86 system-xfree86-42 system-xfree86-43 \ xorg xorg-shlibs xfree86 xfree86-shlibs \ xfree86-base xfree86-base-shlibs xfree86-rootless xfree86-rootless-shlibs \ xfree86-base-threaded xfree86-base-threaded-shlibs \ xfree86-rootless-threaded xfree86-rootless-threaded-shlibs rm -rf /Library/Receipts/X11SDK.pkg /Library/Receipts/X11User.pkg fink selfupdate; fink index
(the first line may give you warnings about trying to remove nonexistent packages). Then, reinstall Apple's X11 (and the X11SDK, if needed), or, if you're on 10.4, an alternative X11 implementation, like XFree86 or X.org.
If you are still having problems then you can run
fink-virtual-pkgs --debug
to get information about what's missing.
If you are running an earlier version of fink
, then
there is a Perl script (courtesy of Martin Costabel) that you can
download and run to get the same information.
- Get it here: http://perso.wanadoo.fr/costabel/fink-x11-debug
- Save it wherever you like.
- Run it in a terminal window via
perl fink-x11-debug
Q9.10: After updating to Tiger (OS 10.4), whenever I use a GTK app, I get errors involving _EVP_idea_cbc
.
A: This is caused by an apparent bug in Tiger's dynamic linker (current as of 10.4.1). You can work around this via prefixing the the name of you want as follows:
env DYLD_FALLBACK_LIBRARY_PATH=:
E.g., if you want to use gnucash
, you'd use
env DYLD_FALLBACK_LIBRARY_PATH=: gnucash
This method works for applications that are launched via the Application Menu in Apple's X11 as well as a terminal.
You may find it preferable to set this globally (e.g. in your startup script, and/or in your .xinitrc
, which you may need to do to run GNOME). Put
export DYLD_FALLBACK_LIBRARY_PATH=:
in your .xinitrc
(regardless of your login shell) or your .profile
(or other startup script) for bash users and:
setenv DYLD_FALLBACK_LIBRARY_PATH :
is the corresponding command to use in e.g. your .cshrc
file for tcsh users.
This will automatically be set if you install
base-files-1.9.7-1
or later.
Q9.11: I can't get the help to work for any GNOME application.
A: You need to install the yelp
package. This package was not placed within the GNOME bundle because it uses cryptography, and it was decided not to place all of GNOME in the crypto tree just to use the help system.