Вы можете сделать это с помощью Ghostscript.
gs \
-sDEVICE=pdfwrite \
-o marked.pdf \
-c "[/CropBox [54 54 1314 810] /PAGES pdfmark" \
-f original.pdf
Поле обрезки должно быть рассчитано с учетом разрешения вашего PDF, эталонным является левый нижний угол. См. также это QA.
Прежде всего, nmcli connection...
показывает, что ручной маршрут находится в профиле соединения. Профиль — это набор настроек для настройки сетевого устройства. Но это не конфигурация самого устройства. Если вы хотите увидеть маршруты, которые настроены в данный момент, то nmcli -f all device show enp3s0
или ip route show
подходят. Эти две команды не делают одно и то же, первая спрашивает NetworkManager, что он считает текущей конфигурацией, вторая спрашивает ядро через netlink API. Разумеется, информация, предоставленная обеими командами, должна совпадать.
Так или иначе, так вы задаете маршрут в профиле и активируете его. Вы правы, ожидая увидеть маршрут на устройстве.
Его там нет, потому что шлюз 172.16.2.1
недоступен напрямую. Ядро не позволит добавить этот маршрут и, возможно, в лог-файле NetworkManager вы увидите предупреждение о невозможности добавления маршрута. Вы также не сможете напрямую добавить этот маршрут с помощью ip route add
.
Потенциальное решение состоит в том, чтобы настроить маршрут как onlink
(, который ядро и NetworkManager поддерживают относительно недавно ). Лучшее решение — также добавить прямой маршрут к шлюзу (+ipv4.routes 172.16.2.1/32
). При условии, что это правильная конфигурация в вашей сети.