1

kdevelop 提供了这个AppImage二进制文件:

wget -O KDevelop.AppImage https://download.kde.org/stable/kdevelop/5.1.1/bin/linux/KDevelop-5.1.1-x86_64.AppImage
chmod +x KDevelop.AppImage
./KDevelop.AppImage

它运作良好。所以我想在 中创建一个调用kd该二进制文件的软链接/usr/bin,例如:

/usr/bin/sudo ln -s KDevelop-5.1.1-x86_64.AppImage kd

现在,如果我运行kd file1,我希望它会file1当前文件夹中打开一个文件名,但它总是试图file1在我的文件夹中打开一个文件名 - 这不是它应该在的位置。

有没有办法解决这个问题?

4

1 回答 1

1

一些可能的原因:

  • 应用程序始终假定您要打开主目录中的文件,有效地或字面上添加$HOME到路径之前。这将是任何 *nix 程序中的错误,应该报告。
  • $(basename "$0")不是时,应用程序的行为会有所不同KDevelop.AppImage@Scheff 所说的)。
  • 您实际上正在运行不同 kd的.

可能的解决方法/调查:

  • 在命令行上传递文件的完整路径。如果它试图打开 /home/you//full/path/you/provided 它显然是错误的,并且你有一个测试用例。如果没有,那么您的$PWD实际情况可能存在一些问题。在运行之前尝试检查它的值。
  • 使用相同名称的符号链接sudo ln -s KDevelop-5.1.1-x86_64.AppImage /usr/bin,并尝试运行它。如果它的行为相同,那么您至少已经证明符号链接不是问题所在。
  • 运行type -a kd并验证您的 /usr/bin/kd 是否首先出现。如果没有,则可能有一个别名或内置的 shell 优先。

也就是说,实际的错误信息是什么?

于 2017-07-09T08:49:17.787 回答