目前,CLion的Full Remote Mode仅支持Linux作为远程主机操作系统。是否可以拥有一个FreeBSD远程主机?
是的你可以!
但是,请注意我回顾性地回顾了这些步骤,所以可能我错过了一两步。如果您遇到任何问题,请随时在下面发表评论。
"libdl.so.1" not found
这样的奇怪错误。我正在使用的是FreeBSD 12.0-RELEASE-p3。wheel
的成员,并取消注释%wheel ALL=(ALL) ALL
中的/usr/local/etc/sudoers
线。PasswordAuthentication yes
中设置/etc/ssh/sshd_config
,然后使用sudo /etc/rc.d/sshd restart
来启用密码验证。
似乎CLion使用rsync
和SSH同步本地和远程主机之间的文件。由于某些原因我无法解释,如果主机服务器不支持无密码SSH密钥登录,这个过程将永远挂起。按照this answer创建SSH密钥作为另一种身份验证方式。sudo pkg install coreutils
安装GNU实用程序。
用stat
重命名BSD实用程序sudo mv /usr/bin/stat /usr/bin/_stat
。
使用Snippet 1中的内容创建一个“新”文件/usr/bin/stat
。这个hack利用了CLion在远程服务器上运行命令之前将环境变量JETBRAINS_REMOTE_RUN
设置为1
的事实。
做sudo chmod a+x /usr/bin/stat
使其可执行。
再次,用ls
重命名BSD实用程序sudo mv /bin/ls /bin/_ls
。
像以前一样用Snippet 2中的内容创建一个“新”文件/bin/ls
。
最后,sudo chmod a+x /bin/ls
。sudo pkg install rsync cmake gcc gdb gmake
安装依赖项。片段1
#!/bin/sh
if [ -z "$JETBRAINS_REMOTE_RUN" ]
then
exec "/usr/bin/_stat" "$@"
else
exec "/usr/local/bin/gnustat" "$@"
fi
片段2
#!/bin/sh
if [ -z "$JETBRAINS_REMOTE_RUN" ]
then
exec "/bin/_ls" "$@"
else
exec "/usr/local/bin/gls" "$@"
fi