Я ищу способ сохранить рабочий стол и ноутбук в синхронизации. Что я хочу сохранить в синхронизации, некоторые папки, главным образом ~ / Документы, которые часто изменяются при работе над ними.
Если имеет значение, что я могу соединиться со своим рабочим столом отовсюду через URL, но мой ноутбук более тверд к доступу, так как это могло бы быть позади NAT и такого.
Я смотрел на Ubuntu Один, но это, кажется, не подходит к работе над документами, записанными в ЛАТЕКСЕ. Если я работаю над .tex файлом в Ubuntu Один каталог и компилирую его (с pdflatex
) время от времени (как часто как каждые 10 секунд при работе) это создаст несколько новых файлов включая PDF, которые загружаются на Ubuntu Один, и это кажется глупым, так как это создаст непрерывную загрузку при работе над .tex файлами. Я также обычно сохраняю .tex версию документов управляемой мерзавцем и затем каждой фиксацией (который также может часто происходить), вызовет загрузку (изменениями в./.git) так, чтобы это происходило непрерывно при работе. Другой пример редактирует образы, которые часто сохраняются. То, что я думаю, было бы лучшим, чтобы синхронизация произошла каждая десятая минута или в конце каждой рабочей сессии (но мог бы быть некоторый другой способ обработать это?).
Это - решение на основе ответа fossfreedom на другой вопрос, Синхронизируя 2 Системы Ubuntu с Унисоном, руководством Унисона и моим ответом на другой вопрос.
sudo apt-get install openssh-server unison
mkdir ~/.unison
nano default.prf
– Создайте файл профиля, названный значением по умолчанию.Запишите файл профиля, например:
root = /home/user
root = ssh://user@user.dyndns-ip.com//home/user
path = Documents
Синхронизируйте компьютеры путем выполнения unison -auto default
на компьютере, который мог бы быть позади NAT. Это будет синхронизировать ~/Documents
. Я делаю это прежде и после того, как мой ноутбук оставит LAN с моим рабочим столом для хранения их документов в синхронизации.
Вы уже используете мерзавца, к этому делает вещи легче. Решение здесь состояло бы в том, чтобы использовать 2 репозитория мерзавца, тот, который синхронизируется Ubuntu Один и тот, который не является. Можно затем продвинуть изменения в синхронизировавшей папке, когда, и только когда, Вы хотите, чтобы синхронизация произошла.
Вы, вероятно, хотите сохранить версию в ~/, Документы, синхронизировавшие наряду со всеми Вашими другими документами (включите Ubuntu Одну синхронизацию для ~ / Документы, если Вы уже не имеете), поэтому создайте клон в не синхронизировавшей папке:
mkdir ~/nonsynced
cd ~/nonsynced
git clone ~/Documents/LATEX_PROJECT
Можно затем работать над файлами в ~/nonsynced/LATEX_PROJECT. Когда Вы захотите синхронизироваться, продвиньте к ~/Documents/LATEX_PROJECT:
git push ~/Documents/LATEX_PROJECT
Если Вы затем работаете над другим синхронизируемым компьютером, можно получить актуальную версию путем выполнения:
git pull ~/Documents/LATEX_PROJECT
от ~/nonsynced/LATEX_PROJECT.
Необходимо будет заменить LATEX_PROJECT названием управляемой папки версии в ~ / Документы.
Я думаю, что Вы не должны добавлять сгенерированный (PDF, dvi или Постскриптум) файлы к системе управления версиями; однако имеет смысл копировать их в синхронизировавший каталог или другой сервер. Я обычно делаю этот вид вещей с make
команда.
У меня есть a Makefile
как это в каталоге, где ЛАТЕКСНЫЕ файлы (отступы являются вкладками, не пробелами). Посмотрите, что GNU Делает Руководство.
%.pdf: %.tex
pdflatex $<
pdflatex $<
store_pdf:
cp example*.pdf path/to/synced_directory
upload_pdf:
scp example*.pdf user@server.name.com:path/to/directory
clean:
rm *.log *.aux *.nav *.vrb *.out *.snm *.toc
Если Вы хотите переместить файлы в синхронизировавший каталог или в сервер, где у Вас есть ssh доступ, необходимо ввести:
make store_pdf
make upload_pdf
Если Вы хотите генерировать example1.pdf от example1.tex, необходимо ввести:
make example1.pdf
Если Вы хотите удалить файлы, Вам не нужно, необходимо ввести:
make clean