Изменить и сохранить настройку аннотации PDF в Okular?

[1178520]Я просто делал нечто очень похожее, перемещая ВМ КВМ в непривилегированный LXC.

$ sudo ack-grep -a 'MyString' /

Я использовал для этого системные контейнеры (чтобы они могли запускаться автоматически при загрузке), но с маппируемыми UID/GIDs (пространства имен пользователей).

редактируйте /etc/subuid,subgid (я отобразил uid/gids 10M-100M в корне и использовал 100K на контейнер)

$ sudo ack-grep -aG '.*txt' MyString

для первого контейнера, используйте u/gids 10000000-10099999 в /var/lib/lxc/CTNAME/config

смонтируйте контейнерное хранилище на /var/lib/lxc/CTNAME/rootfs (или ничего не делайте, если не используете отдельный том/набор данных/что бы ни было на контейнер)

$ ack-grep --cpp 'SomeFunctionName'
chown 10000000: 10000000 /var/lib/lxc/CTNAME/rootfs

setfacl -m u:10000000:x /var/lib/lxc (или просто chmod o+x /var/lib/lxc)

lxc-usernsexec -m b:0:10000000:100000 -- /bin/bash

Теперь вы в первом пользовательском пространстве имен контейнеров. Все то же самое, но ваш процесс считает, что uid равен 0, в то время как на самом деле в пространстве имён хоста это uid 10000000. Проверьте /proc/self/uid_map, чтобы узнать, отображен ваш uid или нет. Вы заметите, что больше не можете читать из /root и кажется, что он никому не принадлежит/nogroup.

Находясь в пространстве имён пользователей, Я rsync с оригинального хоста.

Вне пространства имен пользователей вы увидите, что файлы в /var/lib/lxc/CTNAME/rootfs теперь принадлежат не ожидаемым (таким же) uids, как в исходной установке, а скорее 10000000+remote_uid. Это то, что вам нужно.

Вот и все. Когда вы синхронизируете данные, удалите все из /etc/fstab контейнера, чтобы он не пытался монтировать вещи, и он должен запуститься. Могут быть и другие изменения, проверьте, что делает LXC-шаблон для контейнерного дистрибутива. Вы определённо можете удалить ядро, grub, ntp и любые аппаратные пакеты в контейнере (вам даже не нужно запускать его, вы можете chroot в контейнер из пользовательского пространства имен)Если у вас нет запущенной удалённой ВМ, вы также можете смонтировать оригинальное хранилище ВМ в пространстве имён хоста и rsync/SSH обратно в localhost. Эффект будет тот же самый. Если вы (как кажется) просто хотите изменить контейнер с привилегиями на непривилегированный, вы можете просто добавить отображение uid/gid, добавить отображение, как описано выше, в конфигурацию контейнера, а затем сделать что-нибудь вроде:

Это должно быть все, что нужно сделать, теперь вы должны быть в состоянии запустить контейнер без привилегий. Приведенный выше пример крайне неэффективен, uidshift, вероятно, сделает это лучше (но я его еще не использовал).
HTH.[1178541]

2
05.04.2014, 06:04
1 ответ

Пункт 1)

Запустите Okular без файла и выберите из меню, (для отображения меню вам понадобится Ctrl+M), Настройки->Настройка Okular, затем выберите Аннотация - enter image description here

, затем выберите Замечание в режиме онлайн и нажмите Редактирование:

enter image description here

Введите изменения и Применяйте - они должны стать вашими настройками по умолчанию. N.B. Вы можете добавить собственные стили аннотации кнопкой Add.

Point 2) Насколько я знаю, нет.

Point 3) Чтобы переместить аннотацию, удерживайте нажатой клавишу Ctrl, наведите на нее курсор мыши, а затем начните перетаскивать левой кнопкой мыши.

В заголовке вопроса Вы можете сохранить свои аннотации для просмотра другими пользователями - для этого используйте Файл->Сохранить как или Файл->Экспорт->Архив документов, в противном случае Ваши аннотации будут закрытыми

Любые другие вопросы - Выполните пункт okular, затем нажмите F1 для получения руководства.

1
27.01.2020, 22:22

Теги

Похожие вопросы