我想创建一个桌面快捷方式来关闭笔记本电脑上的保护模式。为此,我需要运行以下命令: echo 0 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode 我创建了一个桌面条目,但我不知道如何以超级用户身份运行它。这样它就什么也不做。我发现的最接近的是 pkexec 但这不起作用。
我想创建一个桌面快捷方式来关闭笔记本电脑上的保护模式。为此,我需要运行以下命令: echo 0 | sudo tee /sys/bus/platform/drivers/ideapad_acpi/VPC2004:00/conservation_mode 我创建了一个桌面条目,但我不知道如何以超级用户身份运行它。这样它就什么也不做。我发现的最接近的是 pkexec 但这不起作用。
使用别名。在您的 /home/user 目录中有一个名为
.bashrc
.将其放在文件末尾,并在末尾留一个空行。
保存文件,然后从终端运行
source .bashrc
.现在您可以
name_of_alias
自由地用作命令。在命令行中自行键入它。要在桌面链接中使用它,您需要使用:bash -c "name_of_alias"
。您确实需
pkexec
要这样做,如果它不想使用 弹出bash -c
,请将其添加到命令的前面或仅使用别名尝试。例如
pkexec name_of_alias
或pkexec bash -c name_of_alias
其中之一肯定会起作用。
pkexec
/的替代方案alias
:这不安全,并且不适用于生产用途!它将使密码明显混淆并可供个人使用。
保存到:
yad_sudo.sh
更改模式为可执行:
chmod +x yad_sudo.sh
用法:
./yad_sudo.sh your_commands_here
使用它作为快捷方式:
配置桌面图标以在终端中运行该命令,以便 sudo 在某个地方询问您的密码,或者向 sudoers 文件添加一个条目,表示您可以以 root 身份运行所需的命令而无需密码。
调试此类事情的一个好方法是将输出(stdout 和 stderr)重定向添加到文件中,以便您可以在尝试命令后检查它。例如:
执行>/tmp/mylogfile 2>&1; 设置-x;...
(您可能需要将整个脚本放入 bash -c 选项中。)