Сделайте ссылку открытым конечным файлом, не файлом в расположении ссылки

Извините за теги. Я не знаю whih, который каждый применяет. Удалите не принадлежащие, затем удалите эту строку. Или комментарий, и я сделаю это сам.

Фон

Я хочу поместить ссылку на файл, расположенный в /home/myname/some/path/file.tex на моем рабочем столе. Этот файл TEX называет другие файлы TEX в нем. Теперь, когда я открываю ссылку, которая расположена на рабочем столе, моем редакторе TEX, это говорит, что я открыл файл /home/myname/Desktop/file.tex. Я не могу скомпилировать этот файл, потому что другие файлы TEX, на которые полагается основной файл TEX, не расположены, где программа ожидает их.

Основной вопрос

Как я могу заставить файл связей открыть конечный файл в своем фактическом местоположении вместо на рабочем столе?

Править

Решение, рекламируемое здесь, не работает, как предназначено. С

#!/bin/bash
exec /home/myname/some/path/file.tex "$@"

Я добираюсь

/tmp/geany_run_script_JVX1HZ.sh: 7: /tmp/geany_run_script_JVX1HZ.sh: ./open-file.sh: Permission denied


—----------------
(program exited with code: 126)
Press return to continue

Где open-file.sh сценарий обертки, расположенный на моем рабочем столе.

РЕДАКТИРОВАНИЕ 2

Хотя, если я открываю терминал и делаю

chmod a+x ./open-file.sh

и изменение exec кому: texstudio, который случайно является программой, я использую для открытия .tex файлы, затем я могу открыть терминал и сделать

bash open-file.sh

это запустит TeXStudio с желаемым файлом, загруженным в желаемом целевом месте. Я все еще не могу только дважды щелкнуть открытый-file.sh по своему рабочему столу, так как это откроет мой текстовый редактор, позволяя мне отредактировать сценарий удара. Я хочу дважды щелкнуть open-file.sh файл сценария и сделал, чтобы TeXStudio открыл мой file.tex файл.

### РЕДАКТИРУЮТ 3

От этого вопроса я вычитаю это, я сделал все правильно, и файл должен быть активируемым по щелчку и быть выполнен при нажатии. К сожалению, это не делает. Я думаю, что мои полномочия корректны, afaik

enter image description here

и то же здесь

-rwxr-xr-x me me 94 Apr 27 12:00 open-file
2
задан 27 April 2018 в 21:46

2 ответа

Я не знаю, как заставить саму ссылку работать как это, но существует относительно простой способ сделать ее.

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

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

По крайней мере, в KDE, это легче сделать путем добавления, что запись в Средство запуска Приложения со всеми параметрами установила способ, которым Вы хотите их и затем перетаскивание записи от меню до рабочего стола. Это имеет набор переменных заполнителя, которые позволяют Вам изменить команду, и даже позволяет Вам указать рабочий каталог для использования.

Это могло быть просто или необычно. Запустите с простого:

#!/bin/bash
## Usage: launcheroo working-directory data-file
## defending this script is left as an exercise for the reader
## ... or you can ask in the comments ;)
cd "$1"
myprog "$2" ## or your more fancy exec that will figure out
            ## what program to run by itself

вызванный как:

launcheroo path-to-data-files data-file

Это обрабатывает самое основное использование, и иллюстрирует подход, но не обрабатывает ошибок как плохие или недостающие параметры

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

Быстрый и грязный способ сделать это - специально для тестирования, как это работает - состоял бы в том, чтобы просто отредактировать значок на рабочем столе для выполнения

cd where-the-files-are ; exec ...

Так как это - Linux, существует, вероятно, много других способов сделать это также.

Если Вы добавляете файл как значок на рабочем столе, можно непосредственно отредактировать его .desktop файл и заставить его делать все виды интересных вещей. Я не сделал многого с теми.

Просто видел этот ответ, который является по существу тем же как моим с немного отличающимся вращением к нему.

0
ответ дан 2 December 2019 в 07:45

Это связано с семантикой символических ссылок. Хотя вы не можете изменить способ обработки символических ссылок, вместо этого вы можете использовать файл рабочего стола типа ссылки.

Создайте текстовый файл в ~/Desktop с именем, например. файл.tex.рабочий стол с этим содержимым:

[Desktop Entry]
Name=file.tex
Type=Link
URL=file:///home/myname/some/path/file.tex

Это откроет путь

/home/myname/some/path/file.tex

с текстовым редактором по умолчанию в рабочем каталоге

/home/myname/some/path/

независимо от расположения файла рабочего стола.

Вам потребуется настроить значения Имя и URL. быть подходящим, но все остальное может оставаться прежним. Вот реальный рабочий пример:

[Desktop Entry]
Name=Link to utf8test.tex
Type=Link
URL=file:///usr/share/texlive/texmf-dist/tex/latex/base/utf8test.tex

Обратите внимание, что URL-адрес должен быть правильным file:// URL. Некоторые файловые менеджеры помогут вам создать эти файлы если вы не хотите делать это вручную.

Связано:

2
ответ дан 10 August 2020 в 05:05

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

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