La version kile par défaut (Kile 2.9.91) fournie avec kubuntu 18.04 ne se comporte pas comme prévu. Dans les anciennes versions, cela
$ kile myfile.tex
ouvrirait myfile.tex
pour le modifier. Cependant, dans la version actuelle, ceci tente et échoue à ouvrir http://myfile.tex
. Le message d'erreur que je reçois est " http: //myfile.tex Hôte introuvable", ce qui n'est pas trop étonnant. J'ai essayé de mettre le nom du fichier entre guillemets, utilisez kile ./myfile.tex
et kile file://myfile.tex
. La première n'a rien changé, les deuxième et troisième ont entraîné une erreur de segmentation.
Quelle est la bonne façon d’ouvrir des fichiers à l’aide de la ligne de commande de Kile 2.9.91?
$ kile myfile.tex -> Error: http://myfile.tex
$ kile "myfile.tex" -> Error: http://myfile.tex
$ kile myfile.txt -> Error: http://myfile.txt
$ kile myfile -> Error: http://myfile
$ kile Documents/myfile.tex -> Error: http://documents/myfile.tex
$ kile ~/Documents/myfile.tex -> Works!
$ kile /home/user/Documents/myfile.tex -> Works!
$ kile $(realpath myfile.tex) -> Works!
$ kile ./myfile.tex -> segfault
$ kile file://myfile.tex -> segfault
Solution de rechange difficile: écrivez une fonction dans votre .bashrc
/.zshrc
(d'autres personnes pourraient travailler, ces deux-là sont les seules que j'ai testées) qui appelle realpath
pour obtenir le chemin absolu du fichier d'entrée:
function kile-open {
kile $(realpath $1)
}
Pour retrouver le comportement souhaité (pour un fichier à la fois, ne pas utiliser d’autres paramètres, ceci peut facilement être amélioré avec certaines connaissances de bash). Ce n'est en aucun cas une solution, mais simplement un moyen d'imiter le comportement souhaité pour l'instant.
Inspiré par la solution @ m00am, dans bash
, vous pouvez ajouter ce qui suit au .bashrc
:
kile() { command kile $(realpath "$@") }
La commande kile myfile.tex
fonctionnera alors. Personnellement, j'ai même redirigé la sortie vers /dev/null
et relâché la commande:
kile() { command kile $(realpath "$@") > /dev/null 2>&1 & }