my blog my blog

Category: Linux
Linux系统中Lightdm开启的VNC会话不能保持的解决方案

 

在奶牛的BeagleBone-Black里面装的Debian系统+openbox桌面,用lightdm管理的(好吧,都是默认的),但是发现在lightdm.conf中将vnc启用后vnc是可以用了,但是每次链接都产生一个新的会话,退出后会话自动毁灭,不能长久保持,这让奶牛很烦恼,因为要想用bb-black来当离线下载机,这样子可不行,还指望着vnc来长期管理呢。好吧,说说处理方法,首先将lightdm.conf中的vnc禁用。

  1. vim /etc/rc.local 
  2. #!/bin/sh -e 
  3. # rc.local 
  4. # This script is executed at the end of each multiuser runlevel. 
  5. # Make sure that the script will "exit 0" on success or any other 
  6. # value on error. 
  7. # In order to enable or disable this script just change the execution 
  8. # bits. 
  9. # By default this script does nothing. 
  10. su debian -c "vncserver -name debian -depth 16 -geometry 1366x768 -alwaysshared" 

这样子就相当于开机用debian用户启动vnc服务器,端口是5901,然后我们

  1. . /etc/rc.local 

来执行一次,然后设置debian用户的vnc密码,设置完成后

  1. ln -s /etc/rc.local /etc/rc5.d/S07rc.local 

这样可以防止rc.local在开机时候不被执行。

linux普通用户挂载U盘无读写权限问题的处理方法

 

这两天折腾BeagleBone-Black,发现自己的linux知识真的忘了好多,用起来都不那么顺手了,啥都得查。遇到一个矛盾,chrome在root状态下无法挂载U盘,系统启动后user又无权限读写优盘。解决方案就是通过fstab来直接挂载,通过用户的id和组id来让用户可以正常使用。ps,最好用uuid方式,个人觉得这样子挂载哪个设备都比较有数,可以设置不同的设备挂载到不同的文件夹什么的。

BeagleBone-Black的debian系统安装中文字体支持教程

 

BeagleBone-Black的debian中默认没有中文,处理方法如下,可以保证中文不显示成方块。

 

  1. apt-get install locales 
  2. dpkg-reconfigure locales 
  3. 选择zh_CN UTF-8 UTF-8后保存退出 
  4. apt-get install ttf-arphic-uming 
  5. apt-get install ttf-wqy-zenhei 

 

BeagleBone-Black添加VNC支持教程

 

奶牛的BeagleBone-Black闲置了好久了,最近需要一个下载机,看了下NAS价格还是比较高的,成本有些高,而且功能也就那样吧,所以决定动用手上的BeagleBone-Black,挂移动硬盘的话还需要usb-hub供电才可以,直接插上接着就挂(估计是电流不够),手上的5.3V  2A的电源接在BeagleBone-Black上竟然还不够电流,只能靠外接了看样子。废话不多说了,写教程。

奶牛的BeagleBone-Black安装的是debian版本,所以ps -aux先看了下都运行了啥,发现了lightdm和openbox,这就好办了。

  1. vim /etc/lightdm/lightdm.conf 

将VNC的配置激活

 

  1. enabled=true 
  2. width=1366 
  3. height=768 
  4. depth=16 

port端口默认就好了,不影响。

然后电脑下载个tightvnc客户端就直接连接ip就可以了。那样子就不用给下载机接个屏啥的了。

gooreplacer+反向代理=完美使用Google各种库

 

事情的起因是这样子的,正看着网页,然后忽然发现ajax.googleapis.com一直一直在载入,就是载入不进去,然后就很难过,我知道是被墙掉了,可是很不甘心,找个反代就可以比较完美解决这个问题,但是单纯的反代在服务器端容易实现,可是我们又不能改人家网站沿用的网址代码,所以,必须要从我们本地的浏览器入手来搞定这个问题。

奶牛一直用firefox用了很多年了,比较习惯,找到了一个插件gooreplacer,国人开发的,使用效果挺好的,用firebug看了下,应该是在页面载入过程中把get方法啥的网址又新加了一个get,来get反代的内容,不懂firefox插件怎么实现过程的,感兴趣的可以看作者的github。

好了,进入正题,下载地址:http://liujiacai.net/gooreplacer/

firefox版本:https://addons.mozilla.org/zh-CN/firefox/addon/gooreplacer/versions/?page=1#version-0.6

chrome版本:https://github.com/jiacai2050/gooreplacer4chrome#install

然后配置也很简单,默认用的科大的反向代理,但是个人感觉效果不好,换了360的反代。

  1. ajax.googleapis.com ---->   ajax.useso.com       
  2. fonts.googleapis.com    ---->   fonts.useso.com  
  3. libs.googleapis.com ---->   libs.useso.com   
  4. themes.googleusercontent.com    ---->   google-themes.lug.ustc.edu.cn        
  5. fonts.gstatic.com   ---->   fonts-gstatic.lug.ustc.edu.cn        

最近都没有搞什么东西,更新非常缓慢,见谅。

Windows下cmd中类似linux命令行的进程管理命令tasklist和taskkill

 

linux下我们用ps来查看进程用kill来结束进程。在windows下的cmd中,也可以通过命令行来完成。

tasklist可以像ps一样列进程,包括可执行文件名,pid什么的,taskkill则用来杀进程。

  1. TASKLIST [/S system [/U username [/P [password]]]] 
  2.          [/M [module] | /SVC | /V] [/FI filter] [/FO format] [/NH] 
  3.  
  4. 描述: 
  5.     该工具显示在本地或远程机器上当前运行的进程列表。 
  6.  
  7. 参数列表: 
  8.    /S     system           指定连接到的远程系统。 
  9.  
  10.    /U     [domain\]user    指定应该在哪个用户上下文执行这个命令。 
  11.  
  12.    /P     [password]       为提供的用户上下文指定密码。如果省略,则 
  13.                            提示输入。 
  14.  
  15.    /M     [module]         列出当前使用所给 exe/dll 名称的所有任务。 
  16.                            如果没有指定模块名称,显示所有加载的模块。 
  17.  
  18.    /SVC                    显示每个进程中主持的服务。 
  19.  
  20.    /APPS                   显示应用商店应用及其关联进程。 
  21.  
  22.    /V                      显示详细任务信息。 
  23.  
  24.    /FI    filter           显示一系列符合筛选器 
  25.                            指定条件的任务。 
  26.  
  27.    /FO    format           指定输出格式。 
  28.                            有效值: "TABLE"、"LIST"、"CSV"。 
  29.  
  30.    /NH                     指定列标题不应该 
  31.                            在输出中显示。 
  32.                            只对 "TABLE" 和 "CSV" 格式有效。 
  33.  
  34.    /?                      Displays this help message. 
  35.  
  36. 筛选器: 
  37.     筛选器名称     有效运算符           有效值 
  38.     -----------     ---------------           -------------------------- 
  39.     STATUS          eq, ne                    RUNNING | SUSPENDED 
  40.                                               NOT RESPONDING | UNKNOWN 
  41.     IMAGENAME       eq, ne                    映像名称 
  42.     PID             eq, ne, gt, lt, ge, le    PID 值 
  43.     SESSION         eq, ne, gt, lt, ge, le    会话编号 
  44.     SESSIONNAME     eq, ne                    会话名称 
  45.     CPUTIME         eq, ne, gt, lt, ge, le    CPU 时间,格式为 
  46.                                               hh:mm:ss。 
  47.                                               hh - 小时, 
  48.                                               mm - 分钟,ss - 秒 
  49.     MEMUSAGE        eq, ne, gt, lt, ge, le    内存使用(以 KB 为单位) 
  50.     USERNAME        eq, ne                    用户名,格式为 
  51.                                               [域\]用户 
  52.     SERVICES        eq, ne                    服务名称 
  53.     WINDOWTITLE     eq, ne                    窗口标题 
  54.     MODULES         eq, ne                    DLL name 
  55.  
  56. 注意: 当查询远程计算机时,不支持 "WINDOWTITLE" 和 "STATUS" 
  57.       筛选器。 
  58.  
  59. Examples: 
  60.     TASKLIST 
  61.     TASKLIST /M 
  62.     TASKLIST /V /FO CSV 
  63.     TASKLIST /SVC /FO LIST 
  64.     TASKLIST /APPS /FI "STATUS eq RUNNING" 
  65.     TASKLIST /M wbem* 
  66.     TASKLIST /S system /FO LIST 
  67.     TASKLIST /S system /U domain\username /FO CSV /NH 
  68.     TASKLIST /S system /U username /P password /FO TABLE /NH 
  69.     TASKLIST /FI "USERNAME ne NT AUTHORITY\SYSTEM" /FI "STATUS eq running" 

 

  1. TASKKILL [/S system [/U username [/P [password]]]] 
  2.          { [/FI filter] [/PID processid | /IM imagename] } [/T] [/F] 
  3.  
  4. 描述: 
  5.     使用该工具按照进程 ID (PID) 或映像名称终止任务。 
  6.  
  7. 参数列表: 
  8.     /S    system           指定要连接的远程系统。 
  9.  
  10.     /U    [domain\]user    指定应该在哪个用户上下文执行这个命令。 
  11.  
  12.     /P    [password]       为提供的用户上下文指定密码。如果忽略,提示 
  13.                            输入。 
  14.  
  15.     /FI   filter           应用筛选器以选择一组任务。 
  16.                            允许使用 "*"。例如,映像名称 eq acme* 
  17.  
  18.     /PID  processid        指定要终止的进程的 PID。 
  19.                            使用 TaskList 取得 PID。 
  20.  
  21.     /IM   imagename        指定要终止的进程的映像名称。通配符 '*'可用来 
  22.                            指定所有任务或映像名称。 
  23.  
  24.     /T                     终止指定的进程和由它启用的子进程。 
  25.  
  26.     /F                     指定强制终止进程。 
  27.  
  28.     /?                     显示帮助消息。 
  29.  
  30. 筛选器: 
  31.     筛选器名      有效运算符                有效值 
  32.     -----------   ---------------           ------------------------- 
  33.     STATUS        eq, ne                    RUNNING | 
  34.                                             NOT RESPONDING | UNKNOWN 
  35.     IMAGENAME     eq, ne                    映像名称 
  36.     PID           eq, ne, gt, lt, ge, le    PID 值 
  37.     SESSION       eq, ne, gt, lt, ge, le    会话编号。 
  38.     CPUTIME       eq, ne, gt, lt, ge, le    CPU 时间,格式为 
  39.                                             hh:mm:ss。 
  40.                                             hh - 时, 
  41.                                             mm - 分,ss - 秒 
  42.     MEMUSAGE      eq, ne, gt, lt, ge, le    内存使用量,单位为 KB 
  43.     USERNAME      eq, ne                    用户名,格式为 [domain\]user 
  44.     MODULES       eq, ne                    DLL 名称 
  45.     SERVICES      eq, ne                    服务名称 
  46.     WINDOWTITLE   eq, ne                    窗口标题 
  47.  
  48.     说明 
  49.     ---- 
  50.     1) 只有在应用筛选器的情况下,/IM 切换才能使用通配符 '*'。 
  51.     2) 远程进程总是要强行 (/F) 终止。 
  52.     3) 当指定远程机器时,不支持 "WINDOWTITLE" 和 "STATUS" 筛选器。 
  53.  
  54. 例如: 
  55.     TASKKILL /IM notepad.exe 
  56.     TASKKILL /PID 1230 /PID 1241 /PID 1253 /T 
  57.     TASKKILL /F /IM cmd.exe /T 
  58.     TASKKILL /F /FI "PID ge 1000" /FI "WINDOWTITLE ne untitle*" 
  59.     TASKKILL /F /FI "USERNAME eq NT AUTHORITY\SYSTEM" /IM notepad.exe 
  60.     TASKKILL /S system /U domain\username /FI "USERNAME ne NT*" /IM * 
  61.     TASKKILL /S system /U username /P password /FI "IMAGENAME eq note*" 

 

windows下git bash如何使用http、https代理

 

以goagent的代理设置为例吧

  1. export http_proxy="http://127.0.0.1:8087" 
  2. export https_proxy="http://127.0.0.1:8087" 

这样子git bash的http和https访问都会走代理了,但是可能会涉及到https证书错误的问题,出现错误提示SSL certificate problem: unable to get local issuer certificate

  1. git config --global http.sslVerify false 

 

技嘉Gigabyte Z87x-oc主板WOL无法唤醒解决方案

 

最近入的第一张台式机主板技嘉Gigabyte Z87x-oc主板,BIOS固件版本是F6,存在电脑关机后无法使用WOL功能唤醒机器的问题,经过一番折腾终于把问题解决了。缕一缕思绪:

1.首先怀疑是BIOS配置问题,WOL选项已经默认开启,跳入下一项

2.网卡驱动上的WOL相关选项设置,设置完成,仍旧无法唤醒,跳回第一项

3.经过测试技嘉Gigabyte Z87x-oc主板的F6 BIOS固件存在WOL功能配置显示与实际相反的bug,即设置为启用实际为不启用,更改为不启用后可以再待机和睡眠状态唤醒成功,但是关机后一段时间无法唤醒。

4.电源存在问题?记得当时安装电源的时候电源少一根线,后来查了下是-5V电源,不是5vsb,忽略,继续查找BIOS问题

5.版本bug?升级到F7 BIOS固件,启动,关机,唤醒失败,问题回到3,还是WOL的显示与实际相反,再在BIOS中将启用改为停用,WOL功能正常,关机等待5分钟后仍然可以正常唤醒。问题解决

 

后记:BIOS升级使用的是技嘉的@BIOS,操作很简单,桌面环境操作,但是开机着实吓了一跳,机器自启两次失败,第三次才启动成功,吓出了一身冷汗,第一次升级BIOS固件,危险性还是相当高的,特别是没有UPS很害怕断电神马的。这次没有升级到最新的F8,万一F8的WOL功能依旧不行,降级也存在危险,有问题也不好处置,因此升级到了一个中间版本的BIOS还是比较保险的。新入了一个netgear wndr3800路由,dd-wrt搞起,准备抽时间写点儿东西神马的,啦啦啦~~~奶牛归来,继续折腾!

BeagleBone-Black在usb模式下无网线访问网络教程

 

BeagleBone-Black昨天到手的,自己从element14上搞到的,英国直邮,还比较不错,今天把系统替换成了Debian,搞起来吧,没事儿总得找点儿小玩具玩儿,现在linux扔下已经很久了,发现apt-get都变得好陌生了,拾起来,拾起来。

好了,说说今天想记录的,就是bb-black在usb模式下如何不插网线访问网络,其实默认情况下驱动装好后,BeagleBone-Black就已经在一个usb搭建起来的网络中了,网关是你的pc,客户端就是你的BeagleBone-Black啦,ip也都确定,网关,也就是你的pc的ip是192.168.7.1,你的BeagleBone-Black的ip是192.168.7.2。思路清晰之后就是操作了,先在pc上搭建一个http代理服务器,奶牛现在在win8.1系统下,首选了ccproxy来做,代理装完直接启动就可以了,默认端口是808.

下面回到BeagleBone-Black,我们需要在BeagleBone-Black设置一个全局http代理,也很easy。

  1. root@nenew-bbblack:~# vim ~/.profile  
  2. export http_proxy="http://192.168.7.1:808" 
  3.  
  4. :x保存后 
  5. source ~/.profile 

嗯,结束之后apt-get update下,成功。

Ubuntu One文件服务即将关闭

 

今天收到ubuntu one发来的邮件,说6月1日,也就是儿童节的时候,ubuntu one文件服务就关闭了,以前上传的文件还可以下载,为期延长两个月。如果以前购买过续期的可以得到退款,还有他们诚挚的歉意,好吧,免费的东西不多得,收费的东西也有尽头,节哀。以下是ubuntu one团队的邮件

 

  1. Hi, 
  2.  
  3. We are writing to you to notify you that we will be shutting down the 
  4. Ubuntu One file services, effective 1 June 2014. This email gives 
  5. information about the closure and what you should expect during the 
  6. shutdown process. 
  7.  
  8. As of today, it will no longer be possible to purchase storage or music 
  9. from the Ubuntu One store. The Ubuntu One file services apps in the Ubuntu, 
  10. Google, and Apple stores will be updated appropriately. 
  11.  
  12. As always, your content belongs to you.  You can simply download your files 
  13. onto your PC or an external hard drive.  While the service will stop as of 
  14. 1 June, you will have an additional two months (until 31 July 2014) to 
  15. collect all of your content. After that date, all remaining content will 
  16. be deleted. 
  17.  
  18. If you have an active annual subscription, the unused portion of your fees 
  19. will be refunded. The refund amount will be calculated from today's 
  20. announcement. 
  21.  
  22. We know you have come to rely on Ubuntu One, and we apologise for the 
  23. inconvenience this closure may cause.  We've always been inspired by the 
  24. support, feedback and enthusiasm of our users and want to thank you for 
  25. the support you've shown for Ubuntu One. We hope that you'll continue to 
  26. support us as together we bring a revolutionary experience to new devices. 
  27.  
  28. The Ubuntu One team