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>