【Linux】记录在Linux桌面环境(deepin)中搭建工作环境,Java、Python、Go、Web等开发环境
记录
- 一、基本工作环境配置
- 1.1 x11vnc
- 1.1.1 X相关概念
- 1.1.2 安装x11vnc
- 1.1.3 设置x11vnc自启动
- 1.1.4 改为使用vino-server
- 1.2 git配置
- 1.2.1 安装
- 1.2.2 配置
- 1.2.3 升级git版本
- 1.3 配置最大文件notify
- 二、搭建Java开发环境
- 2.1 下载JDK1.8
- 2.2 安装
- 2.3 配置环境
- 2.4 安装idea
- 2.6 配置idea
- 2.7 git配置
- 2.8 关于换行符的一些解释
- 2.9 安装Maven
- 三、Python开发环境
- 3.1 安装Anaconda3
- 3.2 安装Pycharm
- 四、搭建Web开发环境
- 4.1 安装Tomcat
- 4.2 安装WebStorm
- 五、VS code安装
- 六、 GO相关
- 6.1 安装GoLand
- 6.2 环境搭建
- 六、办公相关
- wps字体
- 七、插件汇总
- 八、chrome快捷键
- 其它
- 无界鼠标
一、基本工作环境配置
1.1 x11vnc
用于vnc远程访问桌面
1.1.1 X相关概念
X server 和X client
X server 用于监听键盘鼠标输入发送给X client,且负责将X client想在桌面绘制的图形进行绘制显示
X client 一般为各个应用程序或者桌面Gnome KDE等,Gnome、KDE等又是比较特殊的X client
X server 和X client两者配合也可完成远程传输某一软件的界面,例如当A机装有X server(安装桌面了的都有),B机上装有google-chrome,那么A通过ssh -X连接到B后,运行google-chrome将会从B返回一个浏览器界面到A上,A可以远程查看并操作x11vnc和vncserver
x11vnc是可以将本机本地显示器显示的内容发送到远程其它机器的工具
vncserver是可以在本机创建一个或多个虚拟桌面,并将桌面发送到远程机器上- 实现类似于向日葵的远程桌面控制,则需要安装x11vnc
- 而若一个服务器需要给多人提供远程桌面且互不影响,则需要安装vncserver
1.1.2 安装x11vnc
- 执行
sudo apt-get install x11vnc
安装 - 执行
x11vnc -storepasswd
输入两次密码 - 执行
x11vnc -forever -rfbauth /home/XXXX/.vnc/passwd -rfbport 5900 -shared -capslock -nomodtweak
启动,其中XXXX是你的用户名,-capslock -nomodtweak开启小键盘,具体可man x11vnc
查看手册 - 这样就开启服务了,使用
vnc viewer
输入ip可端口5900就可以访问了,但开启服务的终端一旦退出又会停止,因此还需要设置自启动服务
1.1.3 设置x11vnc自启动
- 执行
sudo vim /etc/systemd/system/x11vnc.service
编辑如下内容,其中路径中的XXXX是你的用户名,-capslock -nomodtweak开启小键盘 -auth guess# /etc/systemd/system/x11vnc.service [Unit] Description=Start x11vnc at startup. After=multi-user.target[Service] Type=simple ExecStart=/usr/bin/x11vnc -auth guess -forever -loop -noxdamage -repeat -rfbauth /home/XXXX/.vnc/passwd -rfbport 5900 -shared -capslock -nomodtweak[Install] WantedBy=multi-user.target
systemctl daemon-reload
更新units- 执行
sudo systemctl start x11vnc.service
启动,并使用vncviewer进行连接测试,有问题再更改文件,并再次systemctl daemon-reload
更新 sudo systemctl enable x11vnc.service
设置自启动
使用时复制会乱码,sudo apt install autocutsel ,执行autocutsel -f运行同样没解决
x11vnc 使用时有bug,会出现按键重复,<变成>的问题
1.1.4 改为使用vino-server
安装
sudo apt install vino修改Vino的设置
gsettings set org.gnome.Vino enabled true
gsettings set org.gnome.Vino require-encryption false
gsettings set org.gnome.Vino prompt-enabled false
gsettings set org.gnome.Vino view-only false
gsettings set org.gnome.Vino notify-on-connect false
gsettings set org.gnome.Vino authentication-methods "['vnc']"
gsettings set org.gnome.Vino icon-visibility "never" //关闭图标显示,填client为连接时显示,选always为总是显示
gsettings set org.gnome.Vino vnc-password $(echo -n "mypassword"|base64) // 设置密码,注意密码中有斜杠会被转义查看Vino的设置
gsettings list-recursively org.gnome.Vino
执行启动
/usr/lib/vino/vino-server --display=:0
设置自动启动
sudo cp /usr/share/applications/vino-server.desktop /etc/xdg/autostart/vino-server.desktop
# 由于重启时登录后才会自动启用vino,因此需要将系统调整为自动登录,开机后就会自动启动vino
1.2 git配置
1.2.1 安装
sudo apt-get install git
1.2.2 配置
git config --global user.name "用户名"
//该用户名 标识出本机即可,不一定要与github账号一致
git config --global user.email "邮箱地址"
//github 邮箱
将已生成的公钥~/.ssh/id_rsa.pub
添加到github账号中
1.2.3 升级git版本
因为deepin最新版只支持到2.20.1版本
参考 升级
下载连接 git-2.36.1.tar.gz
需要全部安装才可以 要不然编译后git会出问题
sudo apt install make g++ gcc -y
sudo apt install autoconf
sudo apt install build-essential libcurl4-gnutls-dev libexpat1-dev gettext libz-dev libssl-dev libcurl4-openssl-dev -y
sudo apt install asciidoc xmlto docbook2xtar -xvf git-2.36.1.tar.gz
cd git-2.36.1/
make configure
./configure --prefix=/usr/local/git --bindir=/usr/bin
make all doc
sudo make install install-doc install-html
git --version
1.3 配置最大文件notify
cat /proc/sys/fs/inotify/max_user_watches
可查看最大监控数量为8192,在我们做开发时文件众多肯定是不够的
更改方法
sudo vim /etc/sysctl.conf
添加
fs.inotify.max_user_watches=524288
最后生效
sudo sysctl -p
二、搭建Java开发环境
2.1 下载JDK1.8
官方下载链接为Java Downloads | Oracle
按需求下载,我这里下载jdk-8u321-linux-x64.tar.gz
,需要登录Oracle 帐户后下载
2.2 安装
sudo mkdir /home/liang/Soft/java
创建目录,博主一般将软件均安装在自己的个人目录,你可以自己指定自己的目录sudo cp jdk-8u321-linux-x64.tar.gz /home/liang/Soft/
将下载的文件复制过去cd /home/liang/Soft/java
sudo tar -xvf jdk-8u321-linux-x64.tar.gz
解压ls
查看 会出现一个jdk1.8.0_321
,后面将会用
2.3 配置环境
sudo vim /etc/profile
- 在文件后面添加如下,注意jdk1.8.0_321,你下的版本可能不一样
export JAVA_HOME=/home/liang/Soft/java/jdk1.8.0_321
export PATH=${JAVA_HOME}/bin:${PATH}
source /etc/profile
激活(这里只是当前终端有效,仍需要重启)java -version
显示如下
2.4 安装idea
下载链接,下载后使用tar -xvf 压缩包
解压下载的文件 ,可下载专业版用学校邮箱登录注册可使用,运行其中的./bin/pycharm.sh
即可,也可Deepin下创建启动器
cd /usr/share/applications
’,再sudo vi pycharm.desktop
,内容如下,其中/home/liang/Soft/
是解压文件存放位置,保存后在菜单栏中即可看到软件,再右键发送到桌面
[Desktop Entry]
Encoding=UTF-8
Exec=/home/liang/Soft/idea-IU-213.7172.25/bin/idea.sh
Icon=/home/liang/Soft/idea-IU-213.7172.25/bin/idea.svg
Name=IntelliJ IDEA
Type=Application
X-Deepin-Vendor=user-custom
2.6 配置idea
如重启应该也可不配
选择jdk1.8.0_321目录即可完成,等待编译结束即可
2.7 git配置
同文件git使用时可能显示大量的diff,因为原文件是使用windows新建的,是CRLF格式,而检查时可能出了问题,可设置如下
git config --global core.autocrlf input
设置Git在提交时把CRLF转换成LF,而检出时不转换,即git历史里是存放
// 提交时转换为LF,检出时转换为CRLF, windows下使用
git config --global core.autocrlf true
// 提交时转换为LF,检出时不转换, Linux下使用
git config --global core.autocrlf input
// 提交检出均不转换
git config --global core.autocrlf false
git status显示乱码, 设置git config --global core.quotepath false
2.8 关于换行符的一些解释
LF是Linux使用的换行符 \n
CRLF是Windows使用的换行符 \r\n
如果是CRLF格式的shell脚本,Linux运行脚本时将会报错
可使用 cat -e 1.txt
查看windows下创建的文件中的换行符,最后会有个^M
,cat -e 代表显示不可打印字符与换行符
也可以在Linux环境下创建CRLF换行符的文件echo -e 'LF\nCRLF\r\nEND' > newline.txt
,然后cat newline.txt该文件是能欧正常显示的,因为cat兼容处理多种换行符,可使用vim和cat -e 查看会发现有^M出现
2.9 安装Maven
下载链接为https://maven.apache.org/download.cgi,下载如下包即可
移动到想安装的目录,并cd到那个目录tar -xvf apache-maven-3.8.5-bin.tar.gz
cd apache-maven-3.8.5
mkdir maven-repo
建立仓库目录vi conf/settings.xml
,两个地方做调整,1. 添加一条本地仓库(注意本地仓库地址是你自己新建maven-repo的存放路径),2. 添加一个镜像
在注释下面添加<localRepository>/home/liang/Soft/apache-maven-3.8.5/maven-repo</localRepository>
添加后如下
在mirror注释下添加<mirror><id>alimaven</id><name>aliyun maven</name><url>http://maven.aliyun.com/nexus/content/groups/public/</url><mirrorOf>central</mirrorOf> </mirror>
添加后如下所示
添加环境变量
vi /etc/profile
在后面添加如下export MAVEN_HOME=/home/liang/Soft/apache-maven-3.8.5 export PATH=$MAVEN_HOME/bin:$PATH
测试
source /etc/profile
激活,新终端将不生效,因此,测试完成后仍需要注销重登
mvn -version
测试查看
注销重登
将settings.xml复制一份到~/.m2目录下,便于idea使用
三、Python开发环境
3.1 安装Anaconda3
安装Anaconda3
下载linux版本,安装时只需要sh ./Anaconda3-2021.11-Linux-x86_64.sh即可
3.2 安装Pycharm
下载链接,下载后解压,下载后使用tar -xvf 压缩包
解压下载的文件,可下载专业版用学校邮箱登录注册可使用,运行其中的./bin/pycharm.sh
即可,也可Deepin下创建启动器
桌面vi pycarm.desktop
,内容如下,其中/path/to/
是解压文件存放位置
[Desktop Entry]
Encoding=UTF-8
Exec=/path/to/pycharm-2021.3.3/bin/pycharm.sh
Icon=/path/to/pycharm-2021.3.3/bin/pycharm.svg
Name=Pycharm
Type=Application
X-Deepin-Vendor=user-custom
四、搭建Web开发环境
4.1 安装Tomcat
- 下载链接为https://tomcat.apache.org/,以9.0.62版本为例
- 移动到指定目录,再
tar -xvf apache-tomcat-9.0.62.tar.gz
- 测试
cd 到bin内
执行sh startup.sh
即可启动
输入http://localhost:8080可查看是否成功
sh shutdown.sh
关闭
待补充
4.2 安装WebStorm
下载链接,下载后使用tar -xvf 压缩包
解压下载的文件 创建启动器
再sudo vi /usr/share/applications/webstorm.desktop
,内容如下,其中/home/liang/Soft/
是解压文件存放位置,保存后在菜单栏中即可看到软件,再右键发送到桌面
[Desktop Entry]
Encoding=UTF-8
Exec=/home/liang/Soft/WebStorm-221.5591.52/bin/webstorm.sh
Icon=/home/liang/Soft/WebStorm-221.5591.52/bin/webstorm.svg
Name=WebStorm
Type=Application
X-Deepin-Vendor=user-custom
五、VS code安装
下载链接https://code.visualstudio.com/,安装deb包即可包
六、 GO相关
6.1 安装GoLand
下载链接,下载后使用tar -xvf 压缩包
解压下载的文件 创建启动器
cd /usr/share/applications
’,再sudo vi goland.desktop
,内容如下,其中/home/liang/Soft/
是解压文件存放位置,保存后在菜单栏中即可看到软件,再右键发送到桌面
[Desktop Entry]
Encoding=UTF-8
Exec=/home/liang/Soft/GoLand-2022.1/bin/goland.sh
Icon=/home/liang/Soft/GoLand-2022.1/bin/goland.svg
Name=GoLand
Type=Application
X-Deepin-Vendor=user-custom
6.2 环境搭建
下载地址 https://golang.google.cn/dl
下载 go1.18.1.linux-amd64.tar.gz
放置到Soft下
解压 tar -xvf go1.17.7.linux-amd64.tar.gz
sudo vim /etc/profile
- 在文件后面添加如下
export GOROOT=/home/liang/Soft/go
export PATH=${GOROOT}/bin:${PATH}
source /etc/profile
激活(这里只是当前终端有效,仍需要重启)go version
显示如下
添加国内镜像
go env -w GOPROXY=https://goproxy.cn,direct
go env -w GOSUMDB=sum.golang.google.cn
go env -w GO111MODULE=on 11后需要
六、办公相关
wps字体
找到windows的C盘下的Windows/Fonts,将其中所有内容复制到/usr/share/fonts/wps-office下,即执行
sudo cp -r ./ /usr/share/fonts/wps-office
七、插件汇总
通用:
- CharAutoReplace 自动转换中文标点为英文状态
- tabnine 补全代码
- github copilot 智能推荐填充,关闭自动推荐后,alt+\弹出推荐,tab使用推荐,alt+[、]切换上下一个推荐
- WakaTime 记录使用时间
vscode中
- liveserver 写web实时
- Draw.io Integration 画图
- gitlens 可视化显示git,代码行尾提示提交详情,文件热力展示
八、chrome快捷键
Vimium插件 f打开选项
ctrl+w 关闭当前标签页
ctrl+shit+t 恢复刚才关闭的标签页
ctrl+n 新建窗口页
ctrl+t 新建标签页
ctrl+tab 切换到下一个标签页
ctrl+1 2 第一 二个标签页
ctrl+9 最后一个标签页
其它
无界鼠标
synery
sudo apt-get install synergy 安装
synergy 启动
windows下安装 https://sourceforge.net/projects/synergy-stable-builds/
【Linux】记录在Linux桌面环境(deepin)中搭建工作环境,Java、Python、Go、Web等开发环境相关推荐
- python开发环境对比_【整理】各种Python的IDE(集成开发环境)的总结和对比 | 在路上...
背景 之前已经写帖子,解释了关于Python的开发环境: 但是,对于Python的IDE方面,介绍的不是很多. 此处,专门整理了,各种Python的IDE. 各种Python的IDE PyScript ...
- python自带的集成开发环境是什么-【整理】各种Python的IDE(集成开发环境)的总结和对比...
选择分类目录 Uncategorized (22) 单身恋爱婚姻家庭 (112) Lovestory (7) 单身 (21) 婚姻&家庭 (34) 恋爱 (46) 哲理 人生 故事 (211) ...
- python中的wx_配置 Python的wxWidgets可视开发环境 | 学步园
注:转载请注明出处 一.下载 Python 2.5.1 这一步是必须做的,下载 Python 语言的 SDK 下载地址(直接复制到迅雷):点击下载 下载完成后安装 Python 2.5.1,注意安装路 ...
- 在python内置集成开发环境中可使用快捷键什么_2020知道智慧树普通话训练与测试题库及答案...
[多选题]请问下列作品中,属于高更的艺术作品有哪些? A. B. C. D. [填空题]在 Python 内置集成开发环境 IDLE 中,可使用快捷键 运行当前打开的源代码程序. [多选题]经济环境是 ...
- 使用Grunt搭建自动化的web前端开发环境-完整教程
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! AD: jQuery在使用grunt,bootstrap在使用grunt, ...
- Grunt搭建自动化web前端开发环境--完整流程
jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学.不用! 1. 前言 各位web前端开发人员,如果你现在还不知道grunt或者听说过 ...
- Python学习笔记 - Python语言概述和开发环境
一.Python简介 1.1 Python语言简史 Python由荷兰人吉多·范罗苏姆(Guido van Rossum)于1989年圣诞节期间,在阿姆斯特丹,为了打发圣诞节的无聊时间,决心开发一门 ...
- python在windows的开发环境_Python合集之Python开发环境在Windows系统里面搭建
在上一个合集里面我们了解到了Python的基础信息及学习了Python对我们有什么用处,那么今天我们来了解一下,Python的开发环境该如何搭建.(注:Python的开发环境可以在Windows.MA ...
- python常用的开发环境包括_Python 全栈:Python 四种常用开发环境总结
包安装和镜像源 先来区分几个小白容易混淆的概念:Python 解释器.PyCharm.Anaconda.Conda 安装.pip 安装.PyCharm 是 Python 常用的集成开发环境,全称 In ...
最新文章
- iOS集成OpenCV遇到的问题
- CEV模型与质量甜点算法设计
- 百度社会化分享组件使用问题
- 灯泡里的钨丝是怎么放进去的,这个视频解开我20多年的疑惑!
- mybatis log4j 在日志中打印sql_SpringBoot整合MyBatis+详细打印执行SQL语句
- android Intent的介绍
- C语言程序设计孙鸿飞PPT,清华大学出版社-图书详情-《C语言程序设计》
- 告白气球--吉他教学
- jQuery判断是否为对象或者数组
- php curl 和 socket,PHP HTTP操作类 , 支持 Curl 和 Socket
- 深度学习:批归一化和层归一化Batch Normalization、Layer Normalization
- 4.5.1 段级保护
- 为什么微博超话显示服务器有点累,微博超话帖子被吞是什么原因?使用时,注意这些事项...
- 【资讯】创业加速器Satoshi Block Dojo——为BSV前沿初创企业的发展提速
- mysql 安装没有my.cnf_Linux安装mysql没有my.cnf文件
- SLIC Superpixels 算法学习笔记
- 计算机毕业设计谢辞怎么写,关于毕业论文的谢辞范文(通用12篇)
- 差之毫厘.失之千里 英语学习新需求之.支持通配符的电子字典
- pid刘金琨matlab仿真
- win10安装PL2303_Prolific_DriverInstaller_v1.5.0驱动