我是靠谱客的博主 怕黑板栗,最近开发中收集的这篇文章主要介绍大混沌之——Ubuntu下遇到的各种问题,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一.触控板禁止问题

     这个是困扰我很久的问题,linux下的Fn组合键刚好触控板的组合键失效,每次码东西的时候手老是碰到触控板,搞的鼠标乱飞,很不爽,写个shell,每次需要手动运行,输密码什么的,这个解决方法也不是令人很满意,于是网上搜索了各种方法,总算解决了这个问题.

     这样写shell就避免了每次需要手动输密码:

     #!/bin/bash
     MYPASSWORD="root"
     echo $MYPASSWORD |sudo -S rmmod psmouse 2>/home/[YOUR UESR NAME]/null

     >后的路径什么的无所谓,随便写个就行

     然后 系统->首选项->启动应用程序 中添加这个shell,开机后触控板即禁用了!

 

二.播放视频 黑屏只有声音问题

    记得刚开始的时候视频播放都挺正常的,后来一段时间不用Ubuntu,再用的时候就出现这个问题了,不知道到底怎么回事,只能解决把.网上搜索了各种解决方案,终于有个方案解决了我的问题.

    开始下了个mplayer以为能解决问题,发现不行,于是继续下了些工具包.

    安装gstreamer的解码器。
sudo apt-get install gstreamer0.10-pitfdll
gstreamer0.10-ffmpeg gstreamer0.10-plugins-bad
gstreamer0.10-plugins-bad-multiverse gstreamer0.10-plugins-ugly
gstreamer0.10-plugins-ugly-multiverse

    终端中运行:
gstreamer-properties
视频->默认输出->插件->x window 系统(无xv)后重启就可以了

 

    这种方案确实解决了我的问题,无论Ubuntu原始就带的播放器还是mplayer播放器 视频都能正常播放了!

三.Ubuntu下数据库相关

    我在Ubuntu下装了DB2和MySQL,装完DB2时最诡异,完全不知道它装到哪里去了,想运行下都不知道怎么弄,其实一开始就发现多创建了几个用户,但没发觉有什么重要用途,后来怀着试试看的心态切换到了db2inst1这个用户里面,点了下左上角的应用程序,惊奇的发现了DB2,原来程序装到了这里,这才意识到Linux下的权限思想是无处不在,刚接触linux系统的我真被这个东西搞晕了,处处碰壁.

    经过一番倒腾后,大概了解了linux下DB2的命令.

    在当前用户下,运行终端

    su - db2inst1  输入密码后就入db2inst1用户 必须要在su后加上这个"-"减号,加了这个是使当前的环境变量和后面用户的环境变量相同,不加这个后面的命令不起作用

    然后终端输入 db2 就进入db2的命令行了

    启动db2命令 db2start

    终止db2命令 db2stop

    下面是MySQL.同样是装完后我不知道它装哪里去了,打开终端输入命令mysql没反应,头很大!后来搜了下,linux下要进入MySQL命令行要这种格式输入命令:

    mysql -u[your user name] -p[password]

    这样之后就进入到mysql命令行了.

    再有就是db2的show databases的命令,mysql就是这个命令了,但db2好像是list active databases,这个命令语法上没问题,但我敲完后,没有数据返回,还是查不到有哪些库.

四.Ubuntu下myeclipse焦点丢失问题(当前窗口丢失...)

    就是在输入"."后出来一些方法和变量,选择一个敲回车后,焦点就消失了,在当前窗口敲键盘也好,点鼠标也好,这些输入在当前窗口都没反应,要切换一下,再切换回来才能继续写程序,这个写代码的时候很不爽,开始来回切换还凑合,写的久了完全没法忍受,思维很容易被打断,于是搜啊搜,网上搜了很久终于发现了是什么问题.

    原来Ubuntu下的myeclipse焦点丢失是因为myeclipse和scim这个输入法有冲突.一个方案是卸载掉scim换别的输入法,但我用惯了scim觉得和windows下的搜狗差不多,舍不得卸载掉.fcitx输入法我试着安装过,但一直乱码,而且那个字候选栏做的真的太那啥,受不了,我是被有个网站上别人贴的一张fcitx输入法的图片给欺骗了,那张图的fcitx和搜狗真就一个模样了,但我装的最新版的fcitx不知道怎么就那个样,而且还乱码,想着这个样子就算解决了乱码问题,也还是会受不了就又换回scim了.但是问题是我卸载了fcitx,系统默认输入法还老是X输入法.

    /etc/X11/xinit/xinput.d  进入到这个目录,右键以管理员身份打开修改 GTK_IM_MODULE=scim

    sudo im-switch -s scim

    im-switch -s scim

    如果修改配置文件重启后,还解决不了焦点丢失问题,可以终端输入下上面两条命令试下,一般可以得了解决这个问题!

 

 

    今天就写到这里,有更好的方案和别的什么Linux下的问题就在这篇文章里更新!

 

----------------5/5/2011 12:20:00 AM------------------

 

    接下来写的是mysql和j2ee相关的东西,严格来讲不该归于这篇,但还是先搁这里了,以后在整理整理。

    前几天一直想把个web工程放在服务器去,又搜免费域名又搜免费空间的,忙活半天,得出结论,j2ee的免费空间及其之少,发现能用就EATJ,还每6个小时tomcat就停了,于是放弃找空间了,决定拿自己机器当服务器,找个免费域名搞一搞。由于第一次弄这个,碰到了不少问题。

    首先,在EATJ弄的时候,发布war,重启tomcat,访问的时候先报500错误,后面访问都报404错误,太久没弄java web的东西了,完全不知道咋这样,这个就弄了很久,一直未能解决,由于错误信息获得的有限,又不能debug,我就决定只弄个免费域名,拿自己机器当服务器了。

    免费域名也是第一弄,这个还算比较简单,主要是弄完后不是马上生效,确定是不是成功,又第一次弄这个,心里还是蛮忐忑的。简单讲来就是在申请域名后,在管理那设置好dns的解析,我用的是dnspod服务器提供的域名解析,在dnspod那申请个帐号填上网址与ip,在激活

帐户,在回申请域名的网站填上dnspod给的dns服务器地址就好了,接下来就是等了,48小时之内。我以为真要那么久,大概2个小时差不多在本地ping自己申请的网址就ping的通了,这一部分总算搞定了!

    接下来弄tomcat,把端口号改80,加组<host>,/tomcat folder/conf/server.xml

    <Host name="www.****.***" debug="0" appBase="//home//user//apache-tomcat-5.5.33//webapps//proj">
       <Context path="" docBase="." debug="0"/>
    </Host>

    路径要注意下,是双斜杠,要转下义嘛,在就是注意区别下linux下是斜杠,windows下是反斜杠。

    这里设置好后,启动tomcat,报错,不允许使用80端口,原来linux下1024以下端口只允许root用户使用。搜了下,可以将80端口redirect到别的端口,我于是把tomcat端口又改回8080,使用那条命令:

    iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080

    执行这个前要su root,不然没权限执行。这样之后,重启tomcat,发现不行,浏览器找不到服务器。还是切到了root下跑。跑起来之后,还是报错,有两个方面原因,一是mysql连接的问题,一是工程路径的问题。

    我发现本地测试mysql连接的时候,成功,通过ip远程访问的时候,就不行,于是将mysql这个库的user表里user字段为‘root’的那行记录的host字段设置为‘%’,就是允许外部访问(开始以为是这个原因,后来一想我的web项目和数据库是在一台机器上的啊,不是这个原因)。这样之后程序还是跑不成功,老报CommunicationException:

Communications link failure last *******,本地测试就是正常,但通过web的时候就是错误。于是debug,发现很诡异的问题,有几行新的代码不执行,跳了过去,而且url变量的值居然是EATJ连接的时候那个url,早被我注释掉的!于是clean up,重启,还是这个现象,真郁闷了,来回几次终于正常了。这错误以前真没遇到过,以为webapp里面class和自己最新码的是一样的,但就是不对,想不通。

     Communications link failure 这个 错误肯定是数据库连接不上,原因有多种,碰到我的这种,真的很难查找到,如果本地测试数据库连接类正常,通过网址访问的时候,工程报这个错误就要注意两方面的原因了,一个是mysql禁止远程访问(我的不是这个原因,程序和数据库不在一台机器上的要注意这个),一个就是在web容器里面发布的工程里class是不是最新编译的。我的web容器里的class文件就不是最新编译的,是一天前的那个,真不知道怎么回事!

    下面就是404了,这个工程最先用的是GAE做服务器,我把它换到tomcat后,当时就报404错误了,也弄了半天才解决,配置文件中的url去掉 ‘/工程名’ 就正常了。

    这次tomcat不是以前的localhost方式了,又把配置文件中url路径加上 “/工程名” 就正常了。关于这个里面的原理我没深究,哪天好好深入的细究下这个路径问题。

    今天就总结到这了,这两天总算弄好通过域名访问自己的webapp这个问题了!

 

----------------- 5/10/2011 12:37:00 AM--------------------


    ------每天坚持写一点

 

最后

以上就是怕黑板栗为你收集整理的大混沌之——Ubuntu下遇到的各种问题的全部内容,希望文章能够帮你解决大混沌之——Ubuntu下遇到的各种问题所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部