即使输入了 root 密码,我也无法编辑文件

即使输入了 root 密码,我也无法编辑文件

我想使用 gedit 在 (/sys/class/backlight/acpi_video0) 中编辑 actual_brightness 以更改亮度级别。我的方法是按 alt+f2,然后按 gksudo gedit,然后在编辑数字后输入密码,然后按保存
它给我(您没有保存文件所需的权限)

注意:我无法从设置中更改亮度级别

错误在哪里?

答案1

运行ll /sys/class/backlight/acpi_video0,你可能会得到类似这样的结果

%ll / sys / class / backlight / intel_backlight /
共 0
-r--r--r-- 1 root root 4096 7 月 6 日 14:01 actual_brightness
-rw-r--r-- 1 root root 4096 7月 6 14:01 bl_power
-rw-r--r-- 1 root root 4096 7月 6 14:01 亮度
lrwxrwxrwx 1 root root 0 7月 6 14:01 设备 -> ../../card0-eDP-1
-r--r--r-- 1 root root 4096 7月 6 14:01 max_brightness
drwxr-xr-x 2 root root 0 7月 6 14:01 电源
lrwxrwxrwx 1 root root 0 7 月 6 日 14:01 子系统 -> ../../../../../../../../class/backlight
-r--r--r-- 1 root root 4096 7 月 6 日 14:01 类型
-rw-r--r-- 1 root root 4096 7月 6 14:01 uevent

actual_brightness 是只读的。我猜你应该写入亮度,并且当/如果你写入亮度导致更新时,actual_brightness 将自动更新。

不过,在执行此操作之前,请先尝试 xbacklight。

答案2

要将数字写入系统文件,请按如下方式操作:

echo "5" | sudo tee /sys/class/backlight/acpi_video0/brightness

或者

sudo tee /sys/class/backlight/acpi_video0/brightness <<< "5"

但就您而言,可能acpi_video0不是intel_backlight

根据您的笔记本电脑型号和视频适配器,可以通过添加内核启动参数来解决此问题。

答案3

我能想到的两种可能性:

  • Sudo 不会授予您“完全”的 root 权限。Sudo 只是以 root 权限执行操作,同时仍以您的身份执行 - 粗略地说。(它也不需要 root 密码,但需要 sudo 密码,这甚至可能是“sudo-ing”用户的密码)如果您尝试变得root:在终端中执行“su”并输入 root 密码。您将看到您的提示符将更改为 root@PCNAME。然后尝试再次使用 gedit 编辑文件(当然通过此终端会话启动)。

  • 如果这不起作用,那根本不是权限问题(据我所知)——文件是只读的。unix 哲学的一部分是“一切都是文件”。即使是设备,甚至不是真正“存在”的东西。拥有可写的东西并不总是有意义的。示例:无论您拥有多少权限,您都永远无法真正挂载可读写的 iso。因此:尝试在不写入“文件”的情况下实现相同目的 ;-)

相关内容