我是 Linux 新手,我一直在尝试安装 Plasma 小部件窗口应用程序菜单和窗口按钮。它们显示在小部件列表中,但没有图标并且无法使用。
sh install.sh
当我在解压文件的目录中运行时,我得到了以下信息:
install.sh: 1: [: -a: unexpected operator
mkdir: cannot create directory ‘build’: File exists
install.sh: 5: install.sh: cmake: not found
make: No targets specified and no makefile found. Stop.
然后它要求输入密码,我得到:
make: *** No rule to make target 'install'. Stop.
我能否获得有关如何正确安装的简单指南?
答案1
构建该代码需要该cmake
命令,但您没有该命令。这(而不是[: -a: unexpected operator
消息)似乎是阻止您继续构建的原因。因此,首先安装cmake
。某些软件需要非常新的版本才能cmake
构建(您可以安装如果需要的话),但大多数情况下不需要。我建议您安装该cmake
软件包。
当你这样做时,最好确保你也有在 Ubuntu 系统上构建程序的常用工具链,该软件包build-essential
会为你提供这些工具链。
这些命令将安装这两个cmake
工具和其他工具:
sudo apt update
sudo apt install build-essential cmake
这可能足以让您成功构建软件,或者至少让您克服当前面临的错误。但是,我建议您build
在继续操作之前删除该目录及其内容:
rm -r build
经过进一步的故障排除步骤,包括安装或删除软件或从源代码编辑文件(或者,如果您愿意,甚至每次构建源代码时),我建议删除构建目录并重新开始。
您收到的消息-a
可能不会阻止构建成功。您可能可以忽略它们。如果您使用bash
而不是,它们也可能会消失sh
,尽管我认为这不是最好的解决方案。如果您想摆脱它们或怀疑它们会导致问题,那么您可以编辑脚本install.sh
以使用适当的测试(或不进行测试),或者您可以手动执行脚本执行的操作。因此,如果您想对此采取一些措施,请参阅下面的详细信息。
在两者的源代码中小程序窗口按钮和小程序窗口应用程序菜单,install.sh
目前其完整内容如下:
if ! [ -a build ] ; then
mkdir build
fi
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr .. -Wnodev
make
sudo make install
这是您尝试运行但sh
出现错误的文件。其测试的用途-a
非常奇怪。 -a
通常出现在两个其他表达式之间,并且[
当两个表达式都为真时返回真。
在 Ubuntu 中,sh
由 提供dash
。如果您使用bash
而不是dash
,它可能会起作用(或似乎起作用)。也许这就是作者所做的。但是,我建议您不要这样做,而是修复脚本或手动执行它所做的操作。
如果你想修复脚本,一种方法是替换-a
为-e
或-d
。-e
测试采用文件名操作数并检查它是否存在;-d
检查它是否存在并且是目录。修复脚本的另一种方法是完全删除if
和fi
行;mkdir
如果目录存在,则会失败,但这没问题。
mkdir build
cd build
cmake -DCMAKE_INSTALL_PREFIX=/usr .. -Wnodev
make
sudo make install
但是,此脚本所做的只是创建一个build
目录(如果没有),使用 切换到该目录cd
,cmake
使用一些参数运行 ,运行make
,然后运行sudo make install
。你自己就可以做这些事情。一种方法是在交互式 shell 中依次运行这些命令。
这有好处。正如所写,脚本不会因为某些步骤报告失败而停止,但您可能希望停止。您可以对脚本进行进一步修改以实现这一点(也许以 结束除第一行和最后一行之外的每一行&&
),但如果您不打算多次编译代码,自己运行命令可能更容易。
答案2
我也遇到了一些问题。设法在 Kubuntu 21.04 上构建它。应牢记以下几点
- 在后续构建尝试中删除 build/ 文件夹
- 安装依赖项。这可以參考。
- 确保 gcc、cmake 等不冲突
- 安装后,该小部件出现在面板上的“添加小部件”选项中