如题, 这几天从windows系统迁移到deepin的linux系统花了很多时间, 以致最近都没时间来博客园。现在将这几天的成果分享出来, 顺便也做个记录。先不多说, 上一张新系统界面。

其实在装deepin之前, 我是装的基于Arch Linux的Manjaro, 先是参照完美脱离Windows!! Linux发行版第一系统 Manjaro 开箱教程装了Manjaro Deepin社区版, 发现系统在我电脑上很不稳定, 经常卡死机, 然后就去官方下载了 稳定版Manjaro XFCE重装, 却又发现XFCE界面和windows相似, 非常不美观。到此我已对Manjaro失去耐心, 不想再浪费时间,就转投了Deepin的怀抱。此次换系统可谓是一波三折, 中间遇到的问题如果网上已经有解决方案, 我会直接贴出亲测过的有用链接, 不再重复造轮子。

换系统之前, 首先对windows10系统进行磁盘清理:  释放你的硬盘空间!——Windows 磁盘清理技巧   清理C盘空间,给Win7释放更多C盘容量

如果装的是Manjaro, 可以参考: 完美脱离Windows!! Linux发行版第一系统 Manjaro 开箱教程         VMware虚拟机下Manjaro17.1.6安装详细教程

如果装的是Deepin, 可以参考: 如何安装             深度百科

这里有个好处就是, 如果你安装的是Deepin, 在安装过程中以及装好后如有遇到解决不了的问题, 可以去 深度社区 提问, 会有热心人解答。当然了Manjaro也有自己的社区, 但是在国内没有Deepin活跃........

装好deepin之后, 好多软件都是给我们预装好的, 但是有些windows平台的软件没有linux版本, 这就用到了 Deepin商店的 CrossOver , CrossOver能帮我们将一些windows平台的软件移植到linux平台上运行, 但不是所有的多能移植, 这个得自己去尝试。

之后就是开发工具 IntelliJ IDEA  的安装和配置转移了, Idea的linux版本分为不带JDK的运行环境和自带JDK的运行环境两个选项可供下载:

重点来了! 重要的事情说三遍! 说三遍! 说三遍!  不要下载 不带JDK 的IDEA, 不然后面会遇到很多麻烦。我一开始是下载的 不带JDK 的IDEA, 且本地使用的jdk1.7, 这时启动 IDEA 启动不起来, 报异常显示 当前的jdk环境不能编译 类版本号为52 的类(jdk1.7对应类版本为51, jdk1.8对应类版本为52), 这是因为 IDEA  从2016年后面的版本都需要 jdk1.8 的运行环境支撑才能运行, 所以需要另外给 IDEA 配置 JDK1.8 的运行环境。

另外 不带JDK 的IDEA, 比自带JDK 的IDEA少了一个jre64目录, 并且linux的IDEA比windows平台上少了好多字体, 比如我们常用的等宽字体 consolas 和 courier new 字体就没有, 而后面我们添加新字体都要在下图中的 jre64\lib\fonts 目录下操作, 所以这里建议直接下载 自带JDK 的IDEA, 少折腾浪费时间多敲代码赚钱。。。。

安装IDEA的破解教程请看这里:

IntelliJ IDEA 软件离线破解教程(转)已更新到2018.1.6版本

Intellij IDEA的激活(使用破解补丁永久激活)

补丁请去下载最新的2.9版本, 低版本补丁已失效, 使用低版本注册激活码会报 invalid key 错误。

一切就绪后, 可以按照 linux 下创建idea的桌面快捷方式 为我们的IDEA创建桌面快捷方式。

为IDEA安装热部署插件Jrebel, 按照 Jrebel 激活服务 破解插件。

按照  Linux IntelliJ IDEA 2018 版本 SVN配置 为IDEA集成 SVN版本控制, 命令: sudo apt install subversion

在IDEA中添加consolas 和 courier new 字体: 首先在 IntelliJ IDEA 字体美化(anti-aliased)和字体添加 中下载 这两种字体, 解压后将字体文件复制到你自己的IDEA安装目录下的对应子目录中, 下面是我复制的字体:

这里其实我们刚复制进来时, 文件是没有读取权限的 , 所以启动IDEA后是读取不到这几个新添加的字体的。还需要用命令:  sudo chmod 644 consola* cour*  给这几个文件添加读的权限, 添加权限后,  IDEA设置出现新的字体:

另外字体还可以参照 以前你们说 Jetbrains 在 Linux 下字体差,我以为是真的 修改抗锯齿效果, 让字体更加美观。

IDEA配置好tomcat、maven后, 启动项目时报类似 Error running Tomcat 8.5.31: Error copying configuration files from /usr/local/apache-tomcat-8.5.3/conf to /Users/zhouyuchen/Library/Caches/IntelliJIdea2016.1/tomcat/Tomcat_8_5_31_ttt/conf: Directory is invalid /usr/local/apache-tomcat-8.5.3/conf/Catalina 的异常, 参照 Ubuntu 系统中运行idea出现error running问题 , 修改tomcat主目录权限, 命令: chmod -R 755 tomcat主目录。

上面问题解决后, 启动项目报 org.springframework.jndi.JndiLookupFailureException: JndiObjectTargetSource failed to obtain new target object; nested exception is javax.naming.NameNotFoundException: Name [XXXXX] is not bound in this Context. Unable to find [jboss] 异常, 按网上普遍方案在项目中的web.xml下添加几行配置还是报错, 后面是将本地的tomcat8.0.53换成低版本的 tomcat8.0.47 就解决异常了......

上面一切完成后, IDEA才算是基本的配置好, 可以再讲我们之前的 IDEA 的个性化配置目录(这个目录主要记录了:IDE 主要配置功能、自定义的代码模板、自定义的文件模板、自定义的快捷键、Project 的 tasks 记录等等个性化的设置)拷贝到我们新的IDEA开发环境中, 具体该目录的位置及功能介绍参照:   IntelliJ IDEA 相关核心文件和目录介绍 。另外, 如果需要重新对IDEA进行个性化设置, 可以参照  IntelliJ IDEA 简体中文专题教程 。

linux下命令参考: Linux查看系统信息的一些命令及查看已安装软件包的命令    整理了一下linux/ubuntu里面卸载软件的方法

因为linux下svn图形界面客户端都不怎么好用, 试了好几种直接转命令行了:   svn常用命令详解(很全,很实用)      linux下svn命令使用大全

安装包时可能会遇到  apt-get install XXX: 无法定位软件包 问题, 参考  telnet服务器与客户端配置(以及常见问题)    ubuntu sudo update与upgrade的作用及区别    linux软件包镜像源 , 在 /etc/apt/sources.list 中添加镜像源, 然后命令  sudo apt-get update  更新软件包列表即可。

..............................................................................................................未完待续, 后面遇到的问题会陆续完善到本篇文章中, 如有错误欢迎指正。

从windows10迁移到Linux Deepin的更多相关文章

  1. 如何利用mono把.net windows service程序迁移到linux上

    How to migrate a .NET Windows Service application to Linux using mono? 写在最前:之所以用要把windows程序迁移到Linux上 ...

  2. 把 SQL Server 迁移到 Linux?不如换成 MySQL

    最近几年,数量庞大的个人和组织放弃 Windows 平台选择 Linux 平台,而且随着人们体验到更多 Linux 的发展,这个数字将会继续增长.在很长的一段时间内, Linux 是网络服务器的领导者 ...

  3. SpringNote02.Blog系统迁移到Linux下

    基于SpringMVC-Hibernate的博客系统还在继续开发中 . 项目地址:https://github.com/defshine/SpringBlog 整个项目迁移到linux下开发,安装in ...

  4. ubuntu下lamp环境配置及将window代码迁移至linux系统

    因为最近要用需要去实现项目中的一个功能,比较好的做法就是在http://i.cnblogs.com/EditPosts.aspx?opt=1linux中实现.所以最近就将自己的代码全部迁移到linux ...

  5. VMware Workstation 12 Player之安装林耐斯-Linux Deepin -系统

    VMware Workstation 12 Player之安装林耐斯-Linux Deepin -系统... ============= ============= ============= === ...

  6. svn从Windows服务器上迁移到Linux上

    svn从Windows服务器迁移到Linux服务器    author:headsen chen   2017-10-16  16:50:32  个人原创,转载请注明.否则依法追究法律责任       ...

  7. mongodb数据库备份迁移 windows -> linux

    mongodb数据库备份迁移 windows -> linux cd 到本机mongodb的安装目录 如: C:\Program Files\MongoDB\Server\3.4\bin 可以发 ...

  8. [Linux] deepin与nginx

    deepin Linux Deepin 是一个基于 DEB 包管理的一个独立操作系统,和那些 Ubuntu(下个大版本是基于debian开发) 的衍生版仅仅只是换主题.调整ISO预置的软件包不同.Li ...

  9. Linux(Deepin 15.9) - MySQL5.7 安装

    Linux(Deepin 15.9) - MySQL5.7 安装 sudo apt install mysql-server/panda sudo apt install mysql-client/p ...

随机推荐

  1. EhCache注解 (转载)

    其实EhCache使用的就是Spring Cache的注解. 1.1 @Cacheable @Cacheable可以标记在一个方法上,也可以标记在一个类上.当标记在一个方法上时表示该方法是支持缓存的, ...

  2. composer-laravel-China源和官方源

    composer config -g repo.packagist composer https://repo.packagist.org composer config -g repo.packag ...

  3. SQLPLUS执行PL/SQL语句块

    1.首先登录Oracle HR schema: 2.对于PL/SQL程序,分号表示语句的结束:而使用 "."  号表示整个语句块的结束,也可以省略.按回车键后,该语句块不会执行,即 ...

  4. isinstance()函数判断数据类型

    判断是否是字符串 a = b = " print(isinstance(a,str)) print(isinstance(b,str)) False True 判断是否是列表 a = [,, ...

  5. 什么是JS跨域请求

    这里说的js跨域是指通过js在不同的域之间进行数据传输或通信,比如用ajax向一个不同的域请求数据,或者通过js获取页面中不同域的框架中(iframe)的数据.只要协议.域名.端口有任何一个不同,都被 ...

  6. Codeforces Gym101246C:Explode 'Em All(DP + bitset)

    http://codeforces.com/gym/101246/problem/C 题意:给出一个n*m的图,“*”表示这个地方需要炸掉,炸弹可以如果丢在(i,j)位置的话,那么可以炸掉第i行第j列 ...

  7. JAVA超级简单的爬虫例子(1)

    爬取整个页面的数据,并进行有效的提取信息,注释都有就不废话了: public class Reptile { public static void main(String[] args) { Stri ...

  8. 探寻 webpack_bundle_analyzer 原理

    webpack_bundle_analyzer 是什么? 这是webpack官方出品的,对项目中模块依赖关系及体积的分析插件,其界面如下: 问题来了,这是如何来进行统计的? 这里提供一个插件的代码,可 ...

  9. Java 技术交流群,微信群

    专注Java相关技术:SSM.Spring全家桶.微服务.MySQL.集群.dubbo.分布式.中间件.Linux.网络.多线程.Jenkins.Nexus.Docker.ELK等等! 由于微信群限制 ...

  10. 【Android UI】自定义带按钮的标题栏

    自定义标题栏在很多的android app中很常见,可以说是一种很有用的UI设计方法.自 己也本着学习的态度,经过一番各种坑,终于实现了,现总结如下: 一:大致流程 1.      对指定的andro ...