Используйте оболочку, не установленную на удаленной машине

Эта информация документируется в окулярную документацию.

Как alxs упомянутый, метод, поддерживаемый некоторое время теперь, должен сохранить документ в формате PDF как архив, который создает a .okular файл. Сохранение аннотаций непосредственно в PDF является довольно недавним, и из документации эта опция только доступна от версии 0.15. С такой последней версией, с помощью Save As и сохраняя, поскольку PDF хранит аннотации также. Обратите внимание также, что, как упомянуто в документации, это также требует последней версии poppler.

Проблема, которую Вы могли бы иметь, однако, состоит в том, что документ, сохраненный как архив, не может в настоящее время сохраняться назад как PDF. Поэтому, если Вы уже сделали свои аннотации, и хотят использовать более новую версию okular для сохранения их в PDF это может стать хитрым. Если Вы просто обновляете свою версию окуляра, это может работать, так как это будет использовать то же ~/.kde/share/apps/okular/docdata папка. Однако, если Вы хотите использовать более новую версию окуляра в другой системе, необходимо передать PDF и соответствующий файл метаданных отдельно.

9
17.08.2014, 03:29
6 ответов

Установите вашу любимую оболочку на удаленную машину. Для этого вам не нужны права администратора, вы можете устанавливать программы в свой домашний каталог, это менее удобно. См. Установка в 32-разрядной версии debian 5 без полномочий root , Как установить программу локально без прав sudo? , Отслеживание программ и другие вопросы .

Если вы хотите автоматически входить в оболочку, которую вы установили самостоятельно, а не в оболочку по умолчанию, см. Создание оболочки zsh по умолчанию без корневого доступа

Если все, что вам нужно сделать, это манипулировать удаленными файлами, вы можете использовать SSHFS для монтирования дерева удаленных каталогов на вашем локальном компьютере.

mkdir ~/remote.d
sshfs remote.example.com:/ ~/remote.d
ls ~/remote.d/
…
fusermount -u ~/remote.d

Если у вас нет места в вашем домашнем каталоге или это общая учетная запись, вы можете обойтись настройкой обратного SSH-туннеля и смонтировать свое локальное дерево каталогов на удаленном компьютере с помощью SSHFS , предполагая, что две машины работают под одной и той же архитектурой (один и тот же вариант unix на одном типе процессора). Если две машины имеют несовместимые архитектуры, вы даже можете установить программы для удаленной архитектуры в своем локальном домашнем каталоге. Это может быть не очень удобно, поскольку вам нужно будет правильно настроить пути, чтобы программы находили свои библиотеки, файлы конфигурации и другие файлы данных.

Emacs eshell совместим с Tramp : если вы перейдете в удаленный каталог в Eshell, вы будете выполнять команды на удаленной машине.

6
27.01.2020, 20:05

Пользователь может использовать sshfs для монтирования своего удаленного $ HOME на своей локальной машине. В таком сценарии пользователь не будет напрямую использовать выбранную оболочку на удаленной машине, но, тем не менее, это лучше, чем ничего.

2
27.01.2020, 20:05

Простой ответ: Нет, вы не можете использовать на удаленном ящике программу, которая не установлена на удаленном ящике.

Обходной путь: Вам не нужны права администратора для установки оболочки на удаленной системе. Вы можете установить ее в ваш домашний каталог, но, вероятно, вам придется скомпилировать ее из исходников. Обычно используется нечто вроде configure --prefix=${HOME}/local

Last note: вы не можете изменить оболочку по умолчанию на не "официальную" (смотрите /etc/shells), но вы можете поместить нечто вроде exec fish в вашу . bashrc

3
27.01.2020, 20:05

Базовый подход состоит в том, чтобы скопировать исполняемый файл оболочки на удаленный хост с помощью scp , а затем выполнить его с помощью ssh , например

scp /usr/bin/fish remote:fish && ssh -t remote '~/fish'

-t необходим, чтобы ssh выделял tty, чего он не делал по умолчанию при выполнении удаленной команды.

Предполагается, что на вашем удаленном хосте работает та же операционная система. Если нет, вам нужно определить удаленную операционную систему и скомпилировать (возможно, статический) двоичный файл, который вы можете скопировать.

2
27.01.2020, 20:05

Я не думаю, что вы можете запустить оболочку, которая находится на одной машине на другой. Единственный способ запустить его на удаленной машине - это установить его.

0
27.01.2020, 20:05

Очевидный ответ: «установить команду на удаленную машину», является наиболее чистым решением, поэтому мы не должны игнорировать его:

Если это возможно, установите команду как root, например, с помощью
sudo apt-get install fish ,
команду можно запустить так:

ssh remote -t ​​fish


Вопрос в том, что делать, когда мы не можем установить команду на удаленном компьютере.
Или, более конкретно, это случай, когда мы не можем установить команду как root .
Это не значит, что мы вообще не можем установить!

Что еще можно, так это установить команду внутри домашнего каталога , собрав ее из исходного кода .

Это имеет то преимущество, что он заботится обо всех связанных файлах поддержки , которые могут поставляться с командой, и о том, как программа их находит. В примере оболочки fish это функции завершения и т. Д., Все они недоступны, если мы просто скопируем двоичный файл fish .

Для построения команды из исходного кода требуются инструменты разработки и файлы разработки используемых библиотек, что может быть слишком сложным.

Но многие программы поставляются со всем, что им нужно, в исходных кодах, так что это может быть легко. Раньше сложно сказать, но можно попробовать.

Чтобы установить команду в домашний каталог, configure поставляется с путем для установки в - это необходимо проверить в инструкциях по сборке. Например:

mkdir ~/local
./configure --prefix=~/local 
make
make install

Обратите внимание, что это не sudo make install как обычно - поскольку это весь смысл его локальной установки, чтобы здесь не требовалось sudo.

Для получения общей информации об установке программ из исходного кода см. askubuntu.SE: Как установить файл .tar.gz (или .tar.bz2)?

2
27.01.2020, 20:05

Теги

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