Điểm:0

Làm cách nào để duy trì quyền trong các lần khởi động lại đối với một tập lệnh để ghi vào `/sys/class/backlight/acpi_video0/brightness`?

lá cờ ru

Tôi đã viết một tập lệnh cho phép tôi chuyển đổi độ sáng của màn hình máy tính xách tay của mình (tôi chạy if từ một phím nóng bị ràng buộc bởi xbindkey),
nhưng nó liên quan đến việc viết thư cho /sys/class/đèn nền/acpi_video0/brightness.

Hiện tại, tôi chỉ làm cho nó có thể ghi vào tệp đó bằng cách thực hiện
sudo chown $USER: /sys/class/backlight/acpi_video0/brightness
nhưng nó đặt lại sau mỗi lần tôi khởi động lại máy tính xách tay,
vì vậy tôi cần chạy lại nó trước khi có thể sử dụng phím nóng của mình.

Cách thích hợp và liên tục để làm điều này là gì?



EDIT_3 (nghĩa là đã thêm sau đó 2 chỉnh sửa bên dưới) (về mặt kỹ thuật là "câu trả lời"):

Tôi đã chán ngấy việc cố gắng làm cho công cụ udev hoạt động,
và (sau nhiều nhầm lẫn (một số lượng không xác định là do tôi chỉ đánh máy và thiếu chữ "t" trong "độ sáng"))
cuối cùng đã làm cho nó hoạt động như vậy:

(Để rõ ràng, tôi lặp lại $USERo1.)

Cho nên


  • (1)

Tôi đã tạo một tệp:
/home/o1/.icanhasbrightness.sh
chứa:

#!/usr/bin/bash  
chown o1: /sys/class/backlight/acpi_video0/brightness  

  • (2)

Tôi đã làm:
> Sudo chown root:root /home/o1/.icanhasbrightness.sh

> Sudo chmod 0711 /home/o1/.icanhasbrightness.sh
(
như vậy mà
> stat /home/o1/.icanhasbrightness.sh|head -n 4|tail -n 1
#=>
Truy cập: (0711/-rwx--x--x) Uid: ( 0/ root) Gid: ( 0/ root)
)


  • (3)

Tôi đã làm:
> sudo visudo
và thêm dòng:
o1 ALL=(ALL) NOPASSWD: /home/o1/.icanhasbrightness.sh


  • (4)

Tôi đã sửa đổi chức năng vỏ cá của mình để kiểm tra xem tôi có không phải chủ sở hữu của tệp độ sáng và nếu không, hãy chạy tập lệnh đó.
(

chức năng độ sáng_set_current  
    #todo đây hoàn toàn là cách xử lý "sai" nhưng cách nào cũng hiệu quả  
        nếu kiểm tra $USER != (stat -c %U /sys/class/backlight/acpi_video0/brightness)  
            sudo /home/o1/.icanhasbrightness.sh  
        chấm dứt  
    echo $argv > /sys/class/backlight/acpi_video0/brightness  
chấm dứt  

)


... Vì vậy, tôi đoán rằng về mặt kỹ thuật trả lời câu hỏi của riêng tôi, nhưng ...

  • (1) Tôi cảm thấy đây có lẽ là cách làm "sai" (?)
  • (2) Bây giờ tôi đã quá mệt mỏi với việc loay hoay với điều này đến nỗi dù sao đi nữa tôi cũng không muốn đăng nó một "câu trả lời" ngay bây giờ

(((
Và vì lợi ích của bất kỳ sự tương đương giả định nào trong tương lai của tôi trong quá khứ
(
tức là, phải thừa nhận là không liên quan đến câu hỏi thực tế mà tôi đang cố gắng tìm câu trả lời ở đây,
nhưng tôi sẽ để nó ở đây bây giờ và tìm ra một nơi tốt hơn để đặt nó sau, nơi mà nó thực sự có khả năng được nhìn thấy bởi những người thấy nó hữu ích
),
những người chỉ muốn có một phím nóng để chuyển đổi độ sáng và nhiệt độ màu màn hình,
sau đó, giả sử bạn đã sử dụng fishshell (và biết lưu chúng dưới dạng các hàm tự động tải và tất cả những thứ đó), mã là:

chức năng độ sáng_get_cản
    con mèo /sys/class/backlight/acpi_video0/brightness
chấm dứt

chức năng độ sáng_set_current
    #td SỬA CHỮA (?)
        nếu kiểm tra $USER != (stat -c %U /sys/class/backlight/acpi_video0/brightness)
            sudo /home/o1/.icanhasbrightness.sh
        chấm dứt
    echo $argv > /sys/class/backlight/acpi_video0/brightness
chấm dứt

chức năng độ sáng_get_max --mô tả 'độ sáng tối đa, mb'
    mèo /sys/class/đèn nền/acpi_video0/max_brightness
chấm dứt

chức năng độ sáng_set_max --mô tả 'độ sáng tối đa, mb'
    độ sáng_set_cản (độ sáng_get_max)
chấm dứt

chức năng độ sáng_toggle
    #
        #
            đặt -l dài dòng $argv
            đặt -l current_brightness (brightness_get_current)
            đặt -l current_ct (xsct|g --nocolor -o '\d+$')
                #bk
                    # tiếng vang hiện tại_ct $current_ct
        #
            đặt -l độ sáng
                nếu kiểm tra $current_brightness -eq 0
                    đặt độ sáng 'tối thiểu'
                khác nếu kiểm tra $current_brightness -eq (brightness_get_max)
                    đặt độ sáng 'tối đa'
                khác
                    đặt độ sáng 'trung bình'
                chấm dứt
            set -l màu đỏ
                nếu kiểm tra $current_ct -eq 1000
                    đặt màu đỏ 'đỏ'
                khác nếu kiểm tra $current_ct -lt 1000
                    đặt màu đỏ 'red_super'
                khác nếu kiểm tra $current_ct -lt 700
                    đặt màu đỏ 'red_impossible'
                khác nếu kiểm tra $current_ct -lt 6500
                    đặt màu đỏ 'giữa'
                khác nếu kiểm tra $current_ct -eq 6500
                    đặt đỏ 'trắng'
                khác
                    đặt màu đỏ 'màu xanh'
                chấm dứt
        #
            chức năng độ sáng_set_to_max_white
                độ sáng_set_max
                D0 xsct 0 #tức là 6500
            chấm dứt
            chức năng độ sáng_set_to_min_red
                độ sáng_set_current 0
                D0 xsct 1000
            chấm dứt
            chức năng độ sáng_set_to_min_white
                độ sáng_set_current 0
                D0 xsct 0 #tức là 6500
            chấm dứt
        #
            #bk
                nếu kiểm tra "$ dài dòng"
                    echo \t'trạng thái hiện tại:'
                    echo \t\t'brightness:' \t$brightness
                    echo \t\t'redness:' \t$redness
                chấm dứt
            #
                nếu kiểm tra "$brightness" = 'max' -a "$redness" = 'white'
                    #bk
                        kiểm tra "$ dài dòng"
                        và lặp lại "1 - cài đặt thành min_red (từ max_white)"
                    độ sáng_set_to_min_red
                khác nếu kiểm tra "$brightness" = 'min' -a "$redness" = 'red'
                    #bk
                        kiểm tra "$ dài dòng"
                        và lặp lại "2 - cài đặt thành min_white (từ min_red)"
                    độ sáng_set_to_min_white
                khác nếu kiểm tra "$brightness" = 'min' -a "$redness" = 'white'
                    #bk
                        kiểm tra "$ dài dòng"
                        và lặp lại "3 - cài đặt thành max_white (từ min_white)"
                    độ sáng_set_to_max_white
                khác
                    #bk
                        kiểm tra "$ dài dòng"
                        và lặp lại "4 - cài đặt thành max_white (từ khác)"
                    độ sáng_set_to_max_white
                chấm dứt
chấm dứt

và để liên kết nó với một khóa,
tôi chỉ đưa vào ~/.xbindkeysrc nội dung này:

"cá -c 'brightness_toggle'"
  Mod4 + ít hơn

(Mod4 + ít hơn chỉ là những gì xbindkeys -mk nói với tôi rằng nó được gọi là tổ hợp phím đó khi tôi nhấn nó)

... oh yeah, ngoại trừ việc cài đặt xsct bạn cũng phải làm
> bản sao git 'https://github.com/faf0/sct.git'
(trong khi ở bất kỳ thư mục nào bạn muốn sct dir để kết thúc trong)
sau đó
> sudo apt cài đặt libxrandr-dev (một phần phụ thuộc bạn cần biên dịch nó)
sau đó (trong khi ở trong đó sct thư mục được tạo bởi bản sao git-ing)
> sudo thực hiện cài đặt

(
Ngoài ra mình set phím nóng để lật mép màn hình nào là "lên"
(cũng dựa vào đó độ sáng_set_current chức năng vì, ít nhất là đối với tôi, sử dụng xrandr -o gây rối với độ sáng vì một số lý do)
với vỏ cá:

function screen_orientation --description 'hướng màn hình/màn hình - các đối số có thể là bình thường/trái/phải/đảo ngược'
    đặt current_brightness (cat /sys/class/backlight/acpi_video-0/max_brightness)
    xrandr -o $argv
    và độ sáng_set_current $current_brightness

    # đoán tôi không cần điều này thực sự?
        # nếu thnpadd
        # nitơ --khôi phục
        # # và D0 nitơ --restore
        # chấm dứt
chấm dứt

~/.xbindkeysrc:

"fish -c 'screen_orientation left'"  
  Mod4 + Trái  
"fish -c 'screen_orientation bình thường'"  
  Mod4 + Lên  
"fish -c 'screen_orientation phải'"  
  Mod4 + Phải  
"fish -c 'screen_orientation đảo ngược'"  
  Mod4 + Xuống  

)
)))




EDIT_1 ("có lẽ là udev?"):

tôi tìm thấy trên tổng đài:

Theo mặc định, chỉ nguồn gốc có thể thay đổi độ sáng bằng phương pháp này. Để cho phép người dùng trong [ví dụ] băng hình nhóm để thay đổi độ sáng, có thể sử dụng quy tắc udev như sau:
[ghi vào tập tin này:]
/etc/udev/rules.d/backlight.rules
[nội dung này:]
ACTION=="add", SUBSYSTEM=="backlight", KERNEL=="acpi_video0", GROUP="video", MODE="0664"

Vì vậy, tôi đã làm điều đó, sau đó đã làm:
nhóm sudo thêm video
và:
sudo usermod -aG video o1
(
Chà, giả sử tôi nhớ chính xác những gì tôi đã làm theo thứ tự,
nhưng bất kể, nhóm $USER làm xác nhận rằng tôi bên trong băng hình tập đoàn.
)

nhưng sau khi khởi động lại, vẫn vậy, cố gắng ghi vào nó như thế này vẫn bị:
> echo 5 > /sys/class/backlight/acpi_video0/brightness
#=>

cảnh báo: Đã xảy ra lỗi khi chuyển hướng tệp '/sys/class/backlight/acpi_video0/brightness'  
mở: Quyền bị từ chối  

và điều này:
> thống kê /sys/class/backlight/acpi_video0/brightness
#=>

  Tệp: /sys/class/backlight/acpi_video0/brightness  
  Kích thước: 4096 Khối: 0 Khối IO: 4096 tệp thông thường  
Thiết bị: 16h/22d Inode: 22741 Liên kết: 1  
Truy cập: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)  
Truy cập: 24-09-2021 10:51:53.894540644 -0700  
Sửa đổi: 2021-09-24 10:51:53.888124116 -0700  
Thay đổi: 24-09-2021 10:51:53.888124116 -0700  
 Sinh: -  

có nghĩa là nó vẫn chỉ nguồn gốc có quyền ghi vào tệp, phải không?

Quy tắc udev đó được cho là ... thay đổi quyền sở hữu tệp thành băng hình nhóm phải không?
(
Giả sử "tệp này thuộc sở hữu của nhóm này" thì khái niệm và/hoặc thuật ngữ có đúng không...?
Ở mức nào, nó được cho là cung cấp cho băng hình quyền ghi nhóm cho tệp, phải không?
)

Vậy tại sao nó không hoạt động?
-- Ý tôi là, vì tôi không thể chính xác nhảy vào cổng vòm và thử,
tôi chỉ có thể cho rằng đó là những gì tôi đã làm sẽ có làm việc trên vòm (?),
vậy Ubuntu khác nhau như thế nào?


EDIT_2 ("udev Nên công việc??"):

Từ những gì tôi có thể hiểu từ hướng dẫn udev này,
Nên công việc?
(
Hoặc bằng mọi giá, nó làm Nói:
Đọc tệp quy tắc: /etc/udev/rules.d/backlight.rules
-- Nhưng nó không nói bất cứ điều gì về "TẬP ĐOÀN" HOẶC "CÁCH THỨC".
)

(Tôi cũng đã thử thay đổi =là để :='s (để "đảm bảo rằng nó không bị ghi đè bởi các quy tắc khác"), đề phòng.)

> thông tin udevadm -a /sys/class/backlight/acpi_video0/
#=>

    Thông tin Udevadm bắt đầu với thiết bị được chỉ định bởi devpath và sau đó  
    đi lên chuỗi thiết bị mẹ. Nó in cho mọi thiết bị  
    đã tìm thấy, tất cả các thuộc tính có thể có ở định dạng khóa quy tắc udev.  
    Một quy tắc để khớp, có thể được tạo bởi các thuộc tính của thiết bị  
    và các thuộc tính từ một thiết bị mẹ duy nhất.

      nhìn vào thiết bị '/devices/pci0000:00/0000:00:01.0/backlight/acpi_video0':  
        KERNEL=="acpi_video0"  
        HỆ THỐNG PHỤ =="đèn nền"  
        NGƯỜI ĐIỀU KHIỂN ==""  
        ATTR{max_brightness}=="15"  
        ATTR{actual_brightness}=="15"  
        ATTR{bl_power}=="0"  
        ATTR{type}=="phần sụn"  
        ATTR{brightness}=="15"  
        ATTR{scale}=="không xác định"

      nhìn vào thiết bị mẹ '/devices/pci0000:00/0000:00:01.0':  
        KERNELS=="0000:00:01.0"  
        HỆ THỐNG PHỤ =="pci"  
        TRÌNH ĐIỀU KHIỂN =="radeon"  
        ATTRS{local_cpulist}=="0-1"  
        ATTRS{msi_bus}=="1"  
        ATTRS{max_link_width}=="255"  
        ATTRS{consistent_dma_mask_bits}=="40"  
        ATTRS{driver_override}=="(null)"  
        ATTRS{power_dpm_state}=="cân bằng"  
        ATTRS{bản sửa đổi}=="0x00"  
        ATTRS{thiết bị}=="0x9648"  
        ATTRS{local_cpus}=="3"  
        ATTRS{subsystem_device}=="0x21ea"  
        ATTRS{d3cold_allowed}=="1"  
        ATTRS{power_method}=="dpm"  
        ATTRS{numa_node}=="-1"  
        ATTRS{broken_parity_status}=="0"  
        ATTRS{power_state}=="D0"  
        ATTRS{boot_vga}=="1"  
        ATTRS{irq}=="31"  
        ATTRS{current_link_width}=="0"  
        ATTRS{current_link_speed}=="Không xác định"  
        ATTRS{class}=="0x030000"  
        ATTRS{power_profile}=="mặc định"  
        ATTRS{dma_mask_bits}=="40"  
        ATTRS{vendor}=="0x1002"  
        ATTRS{subsystem_vendor}=="0x17aa"  
        ATTRS{enable}=="1"  
        ATTRS{power_dpm_force_performance_level}=="auto"  
        ATTRS{ari_enabled}=="0"  
        ATTRS{max_link_speed}=="Không xác định"

      nhìn vào thiết bị mẹ '/devices/pci0000:00':  
        KERNELS=="pci0000:00"  
        HỆ THỐNG PHỤ ==""  
        TRÌNH ĐIỀU KHIỂN ==""  

và:
> kiểm tra udevadm --action="add" '/devices/pci0000:00/0000:00:01.0/backlight/acpi_video0'
#=>

    Tải chỉ mục mô-đun  
    Tệp cấu hình được phân tích cú pháp /usr/lib/systemd/network/99-default.link  
    Tệp cấu hình được phân tích cú pháp /usr/lib/systemd/network/73-usb-net-by-mac.link  
    Đã tạo ngữ cảnh cấu hình liên kết.  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/39-usbmuxd.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/40-usb-media-players.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/40-usb_modeswitch.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/40-vm-hotadd.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/50-apport.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/50-firmware.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/50-udev-default.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/55-dm.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/55-ippusbxd.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/56-hpmud.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/56-lvm.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-autosuspend-chromiumos.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-block.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-cdrom_id.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-crda.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-drm.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-evdev.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-fido-id.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-input-id.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-inputattach.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-libgphoto2-6.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-libsane.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-pcmcia.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-persistent-alsa.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-persistent-input.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-persistent-storage-dm.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-persistent-storage-tape.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-persistent-storage.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-persistent-v4l.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-sensor.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-serial.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/60-tpm-udev.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/61-autosuspend-manual.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/61-kde-bluetooth-rfkill.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/61-persistent-storage-android.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/64-btrfs.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/64-xorg-xkb.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/65-libwacom.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/66-snapd-autoimport.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/69-cd-sensors.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/69-libmtp.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/69-lvm-metad.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/69-wacom.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-joystick.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-mouse.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-pcspkr-beep.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-power-switch.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-printers.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-spice-vdagentd.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-touchpad.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-u2f.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/70-uaccess.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/71-power-switch-proliant.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/71-seat.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/71-u-d-c-gpu-detection.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/73-seat-late.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/73-special-net-names.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/75-net-description.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/75-probe_mtd.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-broadmobi-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-cinterion-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-dell-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-dlink-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-ericsson-mbm.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-fibocom-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-foxconn-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-gosuncn-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-haier-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-huawei-net-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-longcheer-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-mtk-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-nokia-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-pcmcia-device-blacklist.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-qdl-device-blacklist.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-quectel-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-sierra.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-simtech-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-telit-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-tplink-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-ublox-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-usb-device-blacklist.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-usb-serial-adapters-greylist.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-x22x-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/77-mm-zte-port-types.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/78-graphics-card.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/78-sound-card.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/80-debian-compat.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/80-drivers.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/80-iio-sensor-proxy.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/80-libinput-device-groups.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/80-mm-candidate.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/80-net-setup-link.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/80-udisks2.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/81-net-dhcp.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/84-nm-drivers.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/85-hdparm.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/85-hplj10xx.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/85-nm-unmanaged.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/85-regulatory.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/85-tlp-rdw.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/85-tlp.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/90-alsa-restore.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/90-bolt.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/90-console-setup.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/90-fwupd-devices.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/90-libinput-fuzz-override.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/90-nm-thunderbolt.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/90-pulseaudio.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/95-cd-devices.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/95-dm-notify.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/95-upower-csr.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/95-upower-hid.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/95-upower-hidpp.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/95-upower-wup.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/96-e2scrub.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/97-hid2hci.rules  
    Đọc tệp quy tắc: /usr/lib/udev/rules.d/99-systemd.rules  
    Đọc tệp quy tắc: /etc/udev/rules.d/backlight.rules  
    Tải xuống chỉ mục mô-đun  
    Bối cảnh cấu hình liên kết chưa tải.  
    Chương trình này chỉ để gỡ lỗi, nó không chạy bất kỳ chương trình nào  
    được chỉ định bởi phím RUN. Nó có thể hiển thị kết quả không chính xác, bởi vì  
    một số giá trị có thể khác hoặc không có sẵn khi chạy mô phỏng.

    DEVPATH=/devices/pci0000:00/0000:00:01.0/backlight/acpi_video0  
    HÀNH ĐỘNG=thêm  
    HỆ THỐNG PHỤ=đèn nền  
    TAGS=:ghế:systemd:  
    ID_PATH=pci-0000:00:01.0  
    ID_PATH_TAG=pci-0000_00_01_0  
    ID_FOR_SEAT=đèn nền-pci-0000_00_01_0  
    SYSTEMD_WANTS=systemd-backlight@backlight:acpi_video0.service  
    USEC_INITIALIZED=2680045  
Điểm:-1
lá cờ it

câu trả lời đóng hộp này có thể Cứu giúp.

Nhiều sự cố truy cập thiết bị có thể được giải quyết thông qua thay đổi thành viên nhóm.

Bạn có thể tìm tên thiết bị bằng cách xem sudo journalctl --follow khi bạn kết nối thiết bị của mình. HOẶC ls -1 /dev >dev.b Before, kết nối thiết bị, đợi 10 giây, ls -1 /dev >dev.after;diff dev.{trước,sau}.

Cụ thể, nếu ls -l cho thấy rằng các quyền của nhóm (" thứ hairwx" bộ ba) là "rw" (ví dụ."-rw-rw----"), sau đó, thêm chính bạn vào nhóm sở hữu thiết bị sẽ cấp rw quyền.

Đây là cách:

thiết bị = "/ dev/bất cứ điều gì"
sudo adduser $USER $(stat -c "%G" $device)

Điều này cho phép bạn trở thành thành viên trong nhóm có thể rw thiết bị, nhưng còn một bước nữa.

Để biến tất cả các quy trình của bạn thành thành viên của nhóm mới, hãy đăng xuất và đăng nhập. Tư cách thành viên nhóm được thiết lập tại đăng nhập thời gian.

Để tạo một quy trình duy nhất trong nhóm mới (để thử nghiệm, trước khi đăng xuất/đăng nhập):

newgrp $(stat -c "%G" $device)  

hoặc, chỉ cần nhập tên nhóm. Nhìn thấy người đàn ông mới.

lá cờ ru
"khi bạn kết nối thiết bị của mình"? Đó là màn hình của máy tính xách tay; Tôi không bao giờ tự mình "kết nối" nó ... ???
lá cờ ru
Giống như, nhóm sở hữu nó (`stat -c %G /sys/class/backlight/acpi_video0/brightness`) chỉ là `root`, vì vậy câu trả lời được cho là "thêm `$USER` vào nhóm `root `", phải không? Mà được cho là ... thậm chí không phải là một câu trả lời?

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.