3 Réponses :
Oui, vous pouvez!
Cependant, notez que je me souviens de ces étapes rétrospectivement, donc j'ai probablement manqué une ou deux étapes. Si vous rencontrez un problème, n'hésitez pas à laisser un commentaire ci-dessous.
Louez un serveur FreeBSD, bien sûr :)
Mettez à jour votre système avec la dernière version. Sinon, vous risquez d'obtenir des erreurs bizarres comme "libdl.so.1" introuvable lors de l'installation des packages. Celui que j'utilise est FreeBSD 12.0-RELEASE-p3.
Créez un compte utilisateur. N'oubliez pas d'en faire un membre de wheel , et décommentez la ligne % wheel ALL = (ALL) ALL dans / usr / local / etc / sudoers .
Configurez SSH. Cette étape est particulièrement délicate, car nous devons utiliser à la fois l'authentification par clé publique et par mot de passe.
PasswordAuthentication yes dans / etc / ssh / sshd_config , suivi d'un sudo /etc/rc.d/sshd restart code >. rsync et SSH. Pour certaines raisons que je ne peux pas expliquer, ce processus sera suspendu pour toujours si le serveur hôte ne prend pas en charge la connexion par clé SSH sans mot de passe. Suivez cette réponse pour créer une clé SSH comme moyen supplémentaire d'authentification. CLion suppose que le système d'exploitation hôte distant est Linux, nous devons donc corriger certaines incompatibilités entre GNU / Linux et FreeBSD.
sudo pkg install coreutils . stat avec sudo mv / usr / bin / stat / usr / bin / _stat . / usr / bin / stat avec le contenu de l ' Extrait 1 . Ce hack exploite le fait que CLion définit la variable d'environnement JETBRAINS_REMOTE_RUN sur 1 avant d'exécuter des commandes sur le serveur distant. sudo chmod a + x / usr / bin / stat pour le rendre exécutable. ls avec sudo mv / bin / ls / bin / _ls . / bin / ls avec le contenu de l ' extrait 2 , comme auparavant. sudo chmod a + x / bin / ls . Installez les dépendances avec sudo pkg install rsync cmake gcc gdb gmake .
Extrait 1
#!/bin/sh
if [ -z "$JETBRAINS_REMOTE_RUN" ]
then
exec "/bin/_ls" "$@"
else
exec "/usr/local/bin/gls" "$@"
fi
Extrait 2
#!/bin/sh
if [ -z "$JETBRAINS_REMOTE_RUN" ]
then
exec "/usr/bin/_stat" "$@"
else
exec "/usr/local/bin/gnustat" "$@"
fi
À partir de la version 2020.1, CLion utilise jsch-nio avec le correctif approprié. Par conséquent, il fonctionne correctement avec les commandes bsd stat et ls .
De plus, vous devez corriger une autre incompatibilité entre GNU / Linux et FreeBSD.
gtar est installé si aucun pkg install gtar tar avec mv / usr / bin / tar / usr / bin / _tar / usr / bin / tar avec le contenu de l'extrait 3, comme avant. sudo chmod a + x / usr / bin / tar Extrait 3
#!/bin/sh
if [ -z "$JETBRAINS_REMOTE_RUN" ]
then
exec "/usr/bin/_tar" "$@"
else
exec "/usr/local/bin/gtar" "$@"
fi
À partir de CLion 2020.2, ce n'est pas obligatoire.
À partir de CLion 2020.1, les instructions concernant gnustat et "ls" ne sont plus pertinentes. Parce que CLion 2020.1 inclut les correctifs appropriés dans la bibliothèque jsch-nio ( https://github.com/lucastheisen/jsch-nio/commit/410cf5cbb489114b5da38c7c05237f6417b9125b )
À partir de CLion 2020.2, n'utilise pas l'option tar --dereference , donc l'instruction concernant gtar (gnutar) n'est plus pertinente. p >
Obligatoire Vous pouvez poser et répondre à vos propres questions < / a>