Я точно не знаю, что вы пытаетесь запечатлеть, но
$ sed 's/\\title{\\hypertarget\({[^}]*}\).*/&\n\\addcontentsline\1/' file
something
\title{\hypertarget{A64L}{A64L(3)}}
\addcontentsline{A64L}
something
\title{\hypertarget{MALLOC}{MALLOC(3)}}
\addcontentsline{MALLOC}
something
\title{\hypertarget{STRCMP}{STRCMP(3)}}
\addcontentsline{STRCMP}
Не ответ на вопрос "Почему так?", а найденный мной способ отключить запрос пароля.
В каталоге /etc/polkit-1/rules.d
создайте файл с именем, например partmanager.rules
. Затем напишите туда следующий контент:
polkit.addRule(function(action, subject) {
if (action.id == "org.kde.kpmcore.externalcommand.init" &&
subject.isInGroup("yourusername")) {
return polkit.Result.YES;
}
});
Замените yourusername
своим именем пользователя.
Теперь, когда вы открываете менеджер разделов kde, он не будет спрашивать у вас пароль.
По поводу вопроса "Почему он спрашивает пароль" -вероятно потому, что он так запрограммирован в настоящее время. Я согласен с тем, что, если возможно, он должен сканировать разделы без предварительного запроса пароля и спрашивать его только тогда, когда будет выполнено действие по изменению. Но для этого отправьте соответствующий отчет об ошибке по адресуhttps://bugs.kde.org.
Разница в том, как они получают информацию об устройствах в вашей системе. Вы можете получить некоторую информацию о блочных устройствах как обычный пользователь из базы данных UDev и sysfs (, поэтому lsblk
работает, например, ), но особенно для более сложных настроек с LVM или MD RAID и т. д. вам нужно будет использовать инструменты, требующие привилегий root. Но даже для получения дополнительной информации о разделах вам понадобится root (, поэтому fdisk -l
дает вам массу Отказано в доступе , если вы не запускаете его как root ).
Вот почему KDE Partition Manager требует немедленной аутентификации, он запускает такие инструменты, как sfdisk
, cryptsetup
и lvm
, чтобы получить всю дополнительную информацию, которая отображается после его запуска (он фактически использует новый KPMCore для этого, графический интерфейс не запускается от имени пользователя root, но это не так важно ).
А почему GNOME Disks не нуждается в этом? Он использует данные из UDisks . UDisks — это демон, который запускается от имени пользователя root, поэтому у него уже есть вся эта информация (он использует те же инструменты/библиотеки, что и KDE Partition Manager )и предоставляет доступ «чтение» всем (вы можете проверить с помощью udisksctl dump
что он знает ). Только действия, которые что-то меняют (, например. удаление раздела )требует аутентификации с использованием Polkit .
Вы можете спросить, почему KDE Partition Manager не использует UDisk? Я не знаю, я могу только догадываться. UDisks долгое время не поддерживал «расширенное» хранилище, такое как LVM (, его основное внимание уделялось монтированию устройств и подобным «более простым» вещам ), поэтому авторы KDE Partition Manager, вероятно, решили не используй это.