Расширение переменных среды в Nautilus

У меня есть папка «песочница» на моем компьютере 13.10, которую я использую для чего-либо по типу «тестирования», или если я обновляю кусок кода и хочу, чтобы он был полностью отделен от всего остального. Для того, чтобы иметь некоторый порядок для этого, я разбил это на подпапки в следующей структуре:

/ data / Work / sandbox / mmyy / ddmmyy

(т. е. сегодняшняя папка - /data/Work/sandbox/0214/260214.)

Чтобы иметь возможность быстрого переключения на этот каталог, я настроил свой .bashrc так, чтобы назначить переменную окружения, $TODAYSAND, которая изменяется ежедневно и указывает на правильную папку, используя команду date:

TODAYSAND="/data/Work/sandbox/`date +%m%y/%d%m%y`"

Это прекрасно работает в оболочках, поэтому я удалил эту строку из .bashrc и добавил ее в свой profile.d в новый сценарий, /etc/profile.d/sandbox.sh. Он по-прежнему работает правильно, и в терминалах я все еще могу cd $TODAYSAND без каких-либо проблем.

Теперь я хотел бы установить закладку в Nautilus, которая указывает на эту папку и динамически изменяется таким же образом, чтобы мне не приходилось каждый раз отслеживать последнюю. Однако я не могу заставить его даже принять $TODAYSAND в качестве имени папки. Если я наберу его в верхней строке (набрав /, чтобы я мог ввести путь, а не поиск), он попытается перейти к несуществующему файлу с буквальным названием /$TODAYSAND и выдает ошибку, сообщающую, что это не не существует Точно так же, если я сделаю закладку, указывающую на $TODAYSAND, она а) создаст ее с тем же значком, как если бы я сказал ей сделать закладку для сетевого расположения, и б) мгновенно вылетает из Наутилуса, когда я нажимаю на нее.

Как я могу заставить Наутилуса принимать эту переменную в качестве допустимого пути к файлу?

2
задан 26 February 2014 в 19:31

1 ответ

Я не сделал нашел способ передать Переменные среды Наутилусу.

Вот ответ, "Как обновить закладку динамично?"

В Ubuntu 12.04 Наутилус хранит закладки в ~/.gtk-bookmarks в следующем формате

file:///home/username/Documents
....
file:///path/to/0214/260214

Можно использовать небольшую функцию удара для изменения последней строки на

file:///path/to/0214/270214

Это изменит закладку динамично. Вот сценарий

updt_sand_box(){
if [ -d /path/to/"$(date +%m%y)"/"$(date +%d%m%y)" ]; then
    sed -i "s#$(date --date yesterday "+%d%m%y")#$(date +%d%m%y)#" ~/.gtk-bookmarks
else
    zenity --info --text="/path/to/$(date +%m%y)/$(date +%d%m%y) does not exist"
fi
}

Поместите вышеупомянутую функцию в ~/.bashrc и источник это,

. ~/.bashrc

К updte закладка песочницы входят в Ваш терминал

updt_sand_box

Можно использовать вышеупомянутый сценарий различным способом. Можно создать cronjob (используйте надлежащий DISPLY переменная) или вставленный в него ~/.bashrc или где угодно так, чтобы это может быть выполнено.

По всей вероятности Более новая Ubuntu хранит закладки в ~/.config/gtk-3.0/bookmarks, необходимо изменить сценарий соответственно.

Замена ~/.gtk-bookmarks с ~/.config/gtk-3.0/bookmarks в вышеупомянутом сценарии.

1
ответ дан 26 February 2014 в 19:31

Другие вопросы по тегам:

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