Ubuntu常见问题及解决汇总

    本博文将长期更新,用于记录Ubuntu下各种问题的解决办法。

2015.10.11
ubuntu安装搜狗输入法:
http://jingyan.baidu.com/article/ad310e80ae6d971849f49ed3.html
到官网下载搜狗输入法,然后在单击安装包,在命令行界面下输入命令等。

2015.10.11
系统刚开始装,命令行界面vi命令backspace不能使用:
里面安装的是vim.tiny;
需要重装vim
sudo apt-get install vim

2015.10.11
如何更改小界面
在系统设置中选择Displays,然后调节光条大小。

2015.10.11
ubuntu15.04如何在没有有线网卡的情况下安装无线网卡驱动:
用手机共享网络,然后在系统设置下找到软件更新,然后选择附加驱动,系统便会自动寻找缺乏驱动的硬件,可以安装。

2015.10.11
火狐启动时,如何显示自定义界面:
点击火狐旁边的搜索框,然后进入设置,选择General,然后更改homepage的url等。

2015.10.11
火狐安装flash:
在软件中心下搜索flash,然后install,最后重启firefox。

2015.10.17
ubuntu下的64bit整数只能用%lld才能通过编译。

2015.10.23
有用的ubuntu问题链接:http://wiki.ubuntu.org.cn/UbuntuSkills。

2015.10.26
先创建文件夹:sudo mkdir /usr/lib/jvm
将压缩包解压到对应的文件夹下:sudo tar zxvf jdk-8u45-linux-x64.tar.gz -C /usr/lib/jvm
文件夹必须存在,且在tar命令用参数-C 指定解压路径。
sudo tar zxvf apache-tomcat-8.0.26.tar.gz -C /opt
将压缩文件原样解压到/opt目录下

2015.10.26
之前未使用apt-get安装jdk
ubuntu安装jdk参考博客:http://blog.csdn.net/microfhu/article/details/7667393

2015.10.27
MySQl安装
//更改root账号为所有主机:
update mysql.user set host='%' where user='root' and host='localhost';
//查看用户表。
select user, host, password from mysql.user;
修改密码:
set password for 'root'@'localhost' = password('201314'); //其中201314为明文,但用户表保存的是进过password()方法处理的密文。
flush priveleges;   //刷新权限,必须步骤,否则不起作用。

2015.10.28
登录页面制作要领。
有两个div,相互平行,两个都是绝对定位。
作为背景的高度和宽度都应该是整个页面,以覆盖整个页面。
其width = 100%, div.style.height = document.body.clientHeight + "px";
背景为黑色,进行模糊化时30%左右:opacity(0.3), IE 则是 filter : alpha(opacity=30);
z-index = 1
而作为显示的div应该是背景为白色,且z-index = 2。

2015.10.28
要给按钮等添加事件时,DOM0,DOM2用函数句柄赋值,而之前则是在HTML代码中的,可以直接写执行语句。
div.style.cssText和div.style.backgroudColor都可以改变行内样式。前者赋空的字符串,则行内样式被覆盖清空。

2015.11.9
eclipse 必须切换到javaee视图下才可以新建动态项目。

2015.11.9
div里面有浮动元素时,里面加一个<div style="clear:both"></style>
ul默认有内边距和外边距。

2015.11.10
绝对定位的参照位置,如left = 0, top = 0, 则子节点的边距左上外围参照父元素的content线左上角。

2015.11.22
在eclipse的服务器下运行动态网页,将在路径
/home/gzx/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/wtpwebapps/项目名/
下临时建立运行主目录,即eclipse试图下的项目都会被拷贝一份到该目录下,
所有上传的文件都必须保存到该运行的目录下,才能立即获取到上传的文件。

如何获取项目的路径:
1. request.getServletContext().getRealPath("/");
2. this.getServletContext().getRealPath("/"); //this指代当前的servlet类
该方法获得的表达式在eclispe中是临时服务器,在tomcat下路径是正确的。
在eclipse下刷新upload文件夹,则会在临时服务主目录下添加eclipse独有的文件。

2015.11.22
动态项目最终整理为 WebContent下META-INF和WEB-INF和其他jsp文件
WEB-INF下有lib和web.xml和classes。
classes保存由src编译得到的包和类。结构是一样的,包含配置文件。
lib保存jar包
web.xml保存servlet配置和servlet的参数

export war得到的war包放在/opt/apache-tomcat-8.0.28/webapps下,调到对应tomcat的目录下运行sudo ./startup.sh即可以运行

tomcat的日志在/opt/apache-tomcat-8.0.28/logs/catalinia.out里,System.out也可以在在这个日志输出

get请求后面添加查询字符串,注意servlet用doGet()处理

2015.11.29
ubuntu 15.01安装ssh服务器,实现远程登录
使用sudo apt-get install openssh-server
即可以安装
ssh开放端口22
使用sudo lsof -i:22 
    或者 ps -e|grep sshd
查看是否启动ssh服务器:sshd
安装之后会自动启动

file命令可以查看文件的编码utf-8 ascii
vi以指定编码查看文件
vim example.txt -c "e ++enc=cp936"

vi改文件编码:先用正确的编码查看,然后在:改编码,输入set fileencoding=utf-8

2015.12.9
sizeof(p)的结果
如果数组p是全局变量,则是数组的大小
如果p是传递指针参数,则结果是该机器的地址位数,用字节表示

2015.12.14
home视图下的layout有default选项,可以恢复三个默认视图。two coloumn 将显示两列写m文件时,必须给出后缀.m。editor视图运行m文件

2016.1.28
tar cvf test.tar test : 打包当前路径下的test文件夹
tar cvf 打包文件名 打包的文件夹
gzip test.tar 生成test.tar.gz文件,进行压缩

2016.2.20
C++文件中有不能识别的乱码,把多打的空格去掉

2016.3.16
ubuntu安装bochs
tar zxvf bochs-2.3.8.tar.gz
cd bochs-2.3.8
./configure --enable-debugger --enable-disasm   ;加调试和反汇编功能
make
如果编译出错,则先对软件进行更新
sudo apt-get update
sudo apt-get upgrade  先update再用upgrade
sudo apt-get install xorg-dev   上面两步是必须的,否则这步不能正确进行
Makefile中需要在LIBS添加:
LIBS = -lz -lrt -lm -lpthread -lX11   可能要加-lX11
然后make
最后sudo make install

2016.3.16
UE的安装
先对软件进行更新升级,同上
然后sudo apt-get install libgtk2.0-dev
sudo apt-get -f install   试图解决上述依赖关系
sudo dpkg -i uex_15.0.0.11_amd64_Cracked.deb  ;安装

2016.3.16
bochs中配置文件:
romimage和vgaromimage、floppya的路径要对,出错将不能启动

2016.5.24
在浏览器中使用applet:首先机器中要安装Jre,而且版本 <= 1.7(非常重要),配置好环境变量,然后运行JRE/bin/javacpl。
打开Java控制面板,在安全选项卡中,选择等级中,全部选是。在高级中选择Mozilla系列页选上,以支持火狐等浏览器的运行。
高版本JRE对于安全性非常高,难以运行applet,而且applet已经逐渐销声匿迹。。。
所有applet都将借助于本地机器jvm的运行。

2016.6.6
tar命令和jar命令的用法
tar cvf hello.tar file1.txt file2.txt
其中c表示创建,v表示详细输出,f表示归档文件:后面接归档文件名
上述命令把当前路径下的file1.txtfile2.txt文件压缩到hello.tartar cvf hello.tar file1.txt file2.txt -C Dir
-C表示切换到目录Dir下运行上述命令,同时把Dir/file1.txt Dir/file2.txt压缩到hello.tar
tar xvf hello.tar 表示解压到当前文件
jar与上述命令类似,jar打包的是class文件,且指明入口点时,需要加-e选项
jar cvfm Hello.jar Main Main.class FileRead.class
入口在类中Main,注意不加.class

查找以点开头的隐藏文件:ls -al | awk '{print $9}' | grep '^\.'

2017.2.1
发送邮件,安装heirloom-mailx,这才是mailx,然后修改配置文件/etc/nail.rc,填入
自己的邮箱信息,还要安装(sudo apt-get install sendmail)就可以发送邮件了:
echo content | mail -s subject -a 附件路径 2995272029@qq.com

/etc/nail.rc的内容如下,这时的发送人是163邮箱,qq邮箱是收信方。
set from=18351927320@163.com smtp=smtp.163.com
set smtp-auth-user=18351927320@163.com smtp-auth-password=163邮箱密码
set smtp-auth=login

2017.2.2 17:50
IDEA设置默认的Maven配置,包括使用本地的Maven
参考链接https://www.oschina.net/question/948439_243781
导入一个maven项目时,选择的根目录必须有pom.xml,即可以导入。注意每个IDE的标志文件不一样。

2017.2.16
1. 缺少动态库时,使用apt-file查找包中的文件
sudo apt-get install apt-file
sudo apt-file update
sudo apt-file search libgstreamer-0.10.so.0
sudo apt-get install libgstreamer-plugins-base0.10-0

2. ubuntu16.04安装sogoupinyinhttp://pinyin.sogou.com/linux/?r=pinyin下载64位deb包,然后使用dpkg安装,解决依赖。
部分命令:
sudo dpkg -i sogoupinyin_2.1.0.0082_amd64.deb
sudo apt-get -f install

3. 每次输入sudo时总是提示无法解析主机名
在/etc/hosts的第一行后追加主机名
127.0.0.1 localhost 主机名

4. 下载linux下的jdk7,提示没有设置cookie,使用wget或者curl下载(地下载地址通过邮件复制地址得到)
wget --no-check-certificate --no-cookies --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/7/jdk-7-linux-x64.tar.gz
参考http://stackoverflow.com/questions/10268583/downloading-java-jdk-on-linux-via-wget-is-shown-license-page-instead

5. 安装openssh-server
sudo apt-get install openssh-server
参考链接http://blog.csdn.net/netwalk/article/details/12952051

6. ideaIU-2016.2.5注册码
https://my.oschina.net/u/1156626/blog/719839,此注册码有问题,一段时间后会过期。

2017.2.18
Ubuntu16.04 安装网易云音乐
换阿里云的源,下载网易云音乐16.04版本
参考博客:http://www.linuxdiyf.com/linux/26150.html

安装google-chrome-stable
在官网下载,然后安装,源里面没有。

2017.2.19
更改Maven的镜像库,提高下载jar的速度
在$M2_HOME/conf/settings.xml下添加如下内容:
<mirrors>
    <mirror>
      <id>alimaven</id>
      <name>aliyun maven</name>
      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>
      <mirrorOf>central</mirrorOf>        
    </mirror>
  </mirrors>

2017.2.25 11:12
红米手机/华硕手机在Ubuntu下显示内置盘的文件位置:
/run/user/1000/gvfs/mtp:host=%5Busb%3A002%2C014%5D
其中,1000表示当前用户的用户ID。
具体可以参考https://en.wikipedia.org/wiki/GVfs
另外可以通过手机的文件管理器打开无线连接功能,在手机开启一个网页服务,要求手机与主机在同一个网络中。长按最近应用程序键可以截图。

2017.2.25 18:28
在Ubuntu16.04下设立快速截图快捷键:设置->键盘->快捷键,选中,输入自己喜欢的键即可,如选择区域设置为ctrl + alt + p。

2017.2.26 21:34
Ubuntu下vim进入和退出全屏模式的快捷键:F11。在.vimrc里面设置set mouse=a后,鼠标不能粘贴复制系统的剪切板,这时可以在vim编辑时按住shift键,即可以粘贴。

2017.3.12 11:55
1. IDEA常用快捷键:
Ctrl + N : 快速查找某个类
Settings -> keymap下可以更改快捷键,如输入reformat,然后修改成自己的快捷键Shfit+F即可。
ctrl + w : 递归选中。
更多快捷键可以参考http://wiki.jikexueyuan.com/project/intellij-idea-tutorial/settings-introduce-1.html

2. 创建一个360KB的软盘,并建立Minix 1.0文件系统
mkdir floppy
cd floppy
// 创建一个映像文件,每次368B,共1024次,全是零
dd if=/dev/zero of=floppy.img bs=368 count=1024
// 创建Minix文件系统
mkfs.minix floppy.img
// 挂载映像文件
mount floppy.img /mnt
// 复制一个文件到Minix文件里面
cp hello.txt /mnt/
// 查看非零区域
xxd -a -g 1 floppy/floppy.img


2017.3.13 13:09
1. 添加子模块:在training父目录上,点击new module
2. 单元测试:org.junit.Assert
Assert.assertNotNull(userToken);
Assert.assertTrue(Integer.valueOf(postMessage.getStatus()) == 0);
QuanrHttpClient.setDebug(true)可以进行调试。


2017.3.19
RestTemplate测试:
  @Test
    public void testGetUserList() {
        RestTemplate restTemplate = new RestTemplate();
        //第一个参数是uri,可以添加查询字符串,第二个参数是返回值类型,第三个参数是uri中的{id}参数替换,是不定参数
        String res = restTemplate.getForObject(baseUri + "/list", String.class);
        Assert.assertNotNull(res);
        Assert.assertTrue(res.contains("用户列表"));
    }

2017.3.20
spring开启事务的两种方式:
1. 注解的方式:
<!-- 指定spring jdbc属性文件位置 -->  
     <context:property-placeholder location="classpath:jdbc.properties"/>  
     <!-- 数据源 -->  
     <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">  
        <property name="driverClassName" value="${driverClassName}"/>  
        <property name="url" value="${url}"/>  
        <property name="username" value="${username}"/>  
        <property name="password" value="${password}"/>  
       <!--initialSize: 初始化连接-->    
        <property name="initialSize" value="5"/>    
        <!--maxIdle: 最大空闲连接-->    
        <property name="maxIdle" value="10"/>    
        <!--minIdle: 最小空闲连接-->    
        <property name="minIdle" value="5"/>    
        <!--maxActive: 最大连接数量-->    
        <property name="maxActive" value="15"/>    
        <!--removeAbandoned: 是否自动回收超时连接-->    
        <property name="removeAbandoned" value="true"/>    
        <!--removeAbandonedTimeout: 超时时间(以秒数为单位)-->    
        <property name="removeAbandonedTimeout" value="180"/>    
        <!--maxWait: 超时等待时间以毫秒为单位 6000毫秒/1000等于60秒-->    
        <property name="maxWait" value="3000"/>   
        <!-- 用来验证从连接池取出的连接,在将连接返回给调用者之前.如果指定,则查询必须是一个SQL SELECT并且必须返回至少一行记录 -->   
        <property name="validationQuery">    
        <value>SELECT 1</value>    
        </property>    
     </bean>  

     <!-- spring使用的管理器 -->  
     <bean id="txManager" class="org.springframework.jdbc.datasource.DataSourceTransactionManager">  
       <property name="dataSource" ref="dataSource"/>  
    </bean>  
    <!-- 使用注解配置spring事务 -->  
    <tx:annotation-driven transaction-manager="txManager"/>  

2. xml配置的方式,使用切面
<!-- 定义切面类,需要使用事务 -->  
    <aop:config>  
        <aop:pointcut id="transactionPointcut" expression="execution(* com.orange.test.ServiceClass.*(..))"/>  
        <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionPointcut"/>  
    </aop:config>   
    <tx:advice id="txAdvice" transaction-manager="txManager">  
          <tx:attributes>  
          <!-- 方法名是get开头的不适用事务 -->  
            <tx:method name="get*" read-only="true" propagation="NOT_SUPPORTED"/>  
            <!-- 其实使用默认事务 -->  
            <tx:method name="*"/>  
          </tx:attributes>  
    </tx:advice>  

参考连接:http://blog.csdn.net/itjavaer/article/details/40505051

2017.3.25
1. 安装rime输入法(中州韵)
sudo apt-get install fcitx-rime / ibus-rime
reboot
参考:https://github.com/Chunlin-Li/Chunlin-Li.github.io/blob/master/blogs/linux/ubuntu-fcitx-rime.md

2. 判断字符串是否为null或者empty,使用guava类
Strings.isNullOrEmpty()

2017-3-26 Guava加密
Hashing.md5().hashString(password, Charsets.UTF_8).toString();

2017-4-3 Ubuntu触摸板不能使用
 sudo modprobe -r psmouse
 sudo modprobe psmouse proto=imps
2017-4-5 nohup的使用
nohup qtalk &
当终端退出时,会发送信号给进程,nohup把数据都输出到当前文件夹下的一个目录下,同时忽视相关信号。

2017-4-6 在tomcat运行war项目时JSP页面找不到,JSP页面是运行时才会编译的。
这由于在$TOMCAT_HOME/lib下已经有了jsp-api.jar和servlet-api.jar这两个jar包,所以不要把这两个包再次打进去,但是jstl.jar是需要的,因为tomcat不会携带。

pom.xml配置如下:
<!-- servlet -->
    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <scope>provided</scope>
      <version>3.1.0</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet.jsp</groupId>
      <artifactId>jsp-api</artifactId>
      <scope>provided</scope>
      <version>2.2</version>
    </dependency>

    <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>jstl</artifactId>
      <version>1.2</version>
    </dependency>
<!-- servlet end-->

2017-4-12
数据库行显示select * from use\G;

2017-4-15
下载源代码,在进入jar的某个类后,IDEA会进行反编译,这时可以通过点击Download Resource来下载该jar的源码。

2017-5-5
idea 下的web.xml的命名空间找不到,移动到该uri,输入alt + enter,选择fetch external resource。

idea 2016.3.4注册码:
http://blog.csdn.net/fanwenyuan_fwy/article/details/64522112

IDEA设置黑色背景:file -> settings -> editor -> color & fonts -> General -> Schema选择Darcula
在类名或者方法名上使用Ctrl + 鼠标左键单击,可以调到该类或者方法的使用处。

2017-5-13
重复的源/etc/apt/sources.list.d导致apt-get update出错,以及源的格式介绍:
https://askubuntu.com/questions/120621/how-to-fix-duplicate-sources-list-entry
Ubuntu15.04设置wifi的方法,所在无线网卡必须支持ap模式,可以使用iw list来查看是否有ap模式,创建热点(不是adhoc或者基础设施)。同时通常必须有一张有线网卡连接有线网,有线网可以上网,这时无线网卡作为网关,需要连接自己创建的无线网,那么android和其他pc就可以使用这个无线网了:
https://linux.cn/article-6172-1.html

2017-6-6
Visio 2013 professional画流程图,点击新建 -> 类别 -> 流程图,然后画流程图。

2017-7-1
安装yoga pro 3进入UEFI的快捷键是fn + f2。

2017-7-3
ubuntu16.04搜狗输入法不能使用中文:
http://www.linuxdiyf.com/linux/27070.html

2017-7-3
yoga pro 3安装Win8.1时,进入uefi后,boot下选择legacy support,可以使用u盘启动。安装ubuntu时,boot下使用uefi。

2017-7-7
find命令的-name内容必须用双引号括起来。

2017-7-17
x86栈操作push和pop的实现是先esp = esp - 4,然后再mov eax, [esp],也就是说当前栈指针指向的栈顶是有数据的。

2017-7-23
搭建nexus的注意事项:
使用nexus-2.14.4-03版本(下载地址:https://sonatype-download.global.ssl.fastly.net/nexus/oss/nexus-2.14.4-03-bundle.tar.gz),将该tgz解压,修改bin/jsw/conf/wrapper.conf中的java为具体的java路径。
先切换到root,然后export RUN_AS_USER=root,然后运行bin/nexus console。必须监听8081端口,才表示正确启动,同时logs/wrapper.log有日志。
访问主页的地址是:http://192.168.2.197:8081/nexus/index.htm
访问所有仓库的地址是:http://192.168.2.197:8081/nexus/content/repositories/
其中public仓库为包含了snapshots和releases仓库的jar,也就是所有jar。
值得注意的是snapshots、releases和3rd party都是hosted类型的,而中央仓库central是proxy类型的。
启动私服后中央仓库将被私服代理,编译本地代码时只需要一个私服配置就够了,不再需要配置中央仓库和镜像。当私服不存在该jar时,会从中央仓库中下载。
另外,releases版本的jar可以配置允许重复部署,而snapshots版本的jar部署后会后缀会变成具体的上传时间,本来就可以多次部署。如何确定是发布快照还是稳定版本?可以看pom的版本,如果有后缀SNAPSHOT则是快照,上传后会变成具体的时间,没有后缀则是release版本。
要部署必须在pom.xml配置如下内容,同时必须在maven的本地settings.xml里的server标签下有id分别为snapshots和releases的用户名和密码,且该账号必须在私服上存在,这样才能部署。
 <!-- 打包发布 -->
    <distributionManagement>
        <repository>
            <id>releases</id><!--这个ID需要与你的release仓库的Repository ID一致-->
            <url>http://192.168.2.197:8081/nexus/content/repositories/releases</url>
        </repository>

        <snapshotRepository>
            <id>snapshots</id><!--这个ID需要与你的snapshots仓库的Repository ID一致-->
            <url>http://192.168.2.197:8081/nexus/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>
为了使用私服必须在settings.xml下配置私服的地址,这样本地的所有项目均可以直接使用该私服,也可以配置在pom中单独使用,避免依赖本机环境配置。
<profile>
            <id>local</id>
            <!-- 私有仓库,必须是public仓库 -->
    <repositories>
        <repository>
            <id>public</id>  <!--这个ID需要与你的组group ID一致-->
            <name>Public Repository</name>
            <url>http://192.168.2.197:8081/nexus/content/groups/public</url>
        </repository>
    </repositories>
            <pluginRepositories>
                <pluginRepository>
                    <id>public</id>
                    <url>http://192.168.2.197:8081/nexus/content/groups/public</url>
                </pluginRepository>
            </pluginRepositories>
        </profile>

  </profiles>

  <activeProfiles>  
        <activeProfile>local</activeProfile>
  </activeProfiles>
具体可以参考:http://blog.csdn.net/catoop/article/details/50779904
http://blog.csdn.net/catoop/article/details/62312477

2017.7.30
Ubuntu下同时展示所有页面的快捷键:win + w

2017.8.14
redis安装教程:http://www.jianshu.com/p/bc84b2b71c1c

2017.8.24 
ubuntu多个终端叠加在一起的快捷键:ctrl + shift + t,需要在一个终端上使用该快捷键。
切换多个标签的快捷键是:alt + x,x表示第x个标签。

2017.10.3
IDEA引入MyEclipse格式项目:File -> New -> Project From Existing Sources,选择eclipse这个单选项即可。
改变编译的输出路径:File -> Project Structure -> Modules,选择Path选项卡,选择输出路径即可。
添加依赖:File -> Project Structure -> Modules,选择Dependencies选项卡,双击对应的目录,可以查看当前目录的依赖jar,点击+可以添加jar。

2017.10.21
IDEA新建项目时需要改变项目的本地仓库,参考:https://www.2cto.com/kf/201707/659334.html

2017.10.29
spring 日志使用的是commons-logging,这时导入Log4j包和log4j.properties设置日志级别为debug,将会使得debug日志生效:
http://blog.163.com/haizai219@126/blog/static/444125552008102135348299/
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值