在KMail中添加Outlook/Hotmail账户

本博客之前介绍过在Android上设置用Exchange接受/发送微软Hotmail(现在升级为outlook.com了)的邮件。但是在KDE下,KMail不支持MS-Exchange协议的,只能用传统的POP3来接受邮件,用SMTP来发送邮件了。微软估计是不打算支持IMAP了!

收件设置

  1. 在顶部菜单栏按「设置」,选择「配置KMail…」,然后切换到配置-KMail对话框
  2. 在左侧选择「账户」,在收件设置里面点击「添加账户」
  3. 选择添加「POP 3 E-Mail Server」(我在Fedora 18 + KDE 4.10.1下有一个bug,如果在KMail里面添加账户会导致KWallet崩溃,所以建议Fedora用户到系统设定->Akonadi设置里面添加邮件账户
  4. 收件服务器填写「pop3.live.com」,用户名一栏填写完整的Email地址(xxx@xxx.com),密码不用说了吧。
  5. 勾选自动检查邮件每隔多少分钟那个框
  6. 切换到「高级」标签也,在连接设定里面,把加密改为「SSL/TLS」确保端口是995,「验证方式」是「Clear text」
  7. 点击确定!

发件设置

  1. 添加一个发件服务器,类型选择SMTP
  2. 服务器地址填「smtp.live.com」,勾选服务器需要验证的框,然后输入用户名和密码。一样,用户名必须是完整的Email地址
  3. 切换到「高级」标签页,加密方式选择「TLS」,确保端口是587,验证方式为「Plain」
  4. 点击确定

当你初次使用KMail发送邮件时,微软可能会发送一个确认信息给你,以防止邮件服务被误用或者滥用。

参考英文原文:eHow tech

Slax 7.0.6-7.0.8升级补丁包

2013-03-17补记:作者的7.0.8发布日志

这是Slax尝试修复任务栏奇怪问题的最后一次努力,如果7.0.8还不能解决,那就不会解决了。-_-#

7.0.8 ISO下载

下面缩进的是本文关于升级包的内容。

我真是服了Tomas了……7.0.7并没有修复任务栏的bug,于是……如你所见,7.0.8来了!还好,无论你在用7.0.6还是7.0.7都不用重新下载200多MB的ISO镜像,只需下载这个4KB的升级补丁包就好了。

补丁包地址:http://www.slax.org/upload/99-diff-706-708.sb

把下载得到的99-diff-706-708.sb文件放在slax/modules下面即可。如果问题没有解决的话,Tomas建议你试试把保存了自己改动的Plasma相关的配置文件(*.rc)删除,因为自己的配置文件可能会覆盖掉补丁包的配置文件。

消息来源:作者英文原文

P.S. 反正我是没有遇到这个问题

Slax GNU/Linux 7.0.6发布

今天收到Slax的邮件提醒,嗯,7.0.6发布了!下面翻译自官方博客原文

我很高兴宣布Slax Live Linux更新到下一个版本号7.0.6了!主要的改变是Linux内核升级到3.8.2,KDE升级到4.10.1了!不过这次升级比我原先预想的要稍微困难一点,大部分是KDE开发者作出的一些古怪改动,我必须work around以便让KDE表现得和我们习惯的一样。

原始更新日志:
– Linux Kernel升级到3.8.2
– KDE升级到4.10.1
– 修复当模块加载或卸载时的通知
– 所有软件包均升级到最新的Slackware-current
– FireFox升级到19.0.2
– 在任务栏的当前时间下面显示日期
– KDE的设备通知被隐藏了(因为它会出现在疯狂的位置)

由于KDE SC提供的一些新玩意,Slax体积增长了大约3MB,我回在下一个版本中继续减小体积。有一些根本用不到的文件,比如一些svg图标。

好吧,我翻译得确实像机器……别吐槽了。。。重点是Slax发布新版本了,赶紧更新吧~~我也得更新一些软件包了,比如rekonq和nodejs……

Slax官方下载地址

为什么我讨厌Ubuntu/Canonical

本文不是网上各种英文版的Why I hate Ubuntu的中文翻译,而是我自己原创的文章,黑Ubuntu和Canonical!

首先就是Canonical对开源的“推动”。好多人都会说开源行业奋斗那么久都没能推进桌面Linux,而Ubuntu一出迅速笼络人气成为桌面发行版的第一名,而且甩开第二名一条街。因此,Canonical对于开源软件的推动有不可磨灭的功绩!Canonical让更多的人了解到了开源的力量,是的,这句话没错!但是它真的给Tux世界带来什么好处了么?!没有或者说几乎没有!!Canonical做的事情就是基于Debian分发一个不符合标准的发行版——Ubuntu,甚至把原本在/usr下的东西无脑地改到/usr/local下!Canonical公司和上游合作的情况更是糟糕透顶,远远不如Novell和Red Hat!总而言之,Canonical给Tux世界带来了只不过是一大群不会自己解决问题的“捉虫勇士”。

其次,Ubuntu屡次分裂桌面Linux!!!Unity这个玩意儿我觉得是实打实失败的,反应速度慢,把滚动条设计到窗口外面而且只有窄窄的一点点实在太反人类了。搞个Unity就算了,后来又折腾Ubuntu for Phone,然后改名Ubuntu Touch(打算上平板了)。折腾到现在,竟然表示自己搞了一个Mir显示服务,和X11、Wayland均不同……到底打算在普通开发者身上压多少稻草?搞得乌烟瘴气,以至于很多软件都变成for Ubuntu而不是for Linux,或者说是for Linux,实际上就是for Ubuntu!

最后,Canonical墙头草。在开发Unity的时候用的GTK+,然后准备了一套Unity 2D,用的Qt,后来停止Unity 2D的开发了,因为认为GTK+更高效balabala的。好吧,横跨手机、平板、PC的计划出来之后,马上改口,下一代Unity将全面用Qt 5写成,理由是Qt 5能够适应于Canonical的这种多平台要求。同样的把戏出在显示服务上,Wayland刚出来的时候,Canonical是表示支持的先锋,然后现在冷不丁冒出一个与Wayland不兼容、不相同的Mir出来。

Canonical是想做Linux业界的Microsoft!挟持普通用户绑架开发者,成了一定气候之后,现在又开始绑架硬件厂商给Mir提供驱动?!

人民群众也不是没脑子的,不要把Linux用户当Windows用户一样白痴。从Unity成为默认桌面环境之后,大家用脚投票,表示Ubuntu甚至从第一名跌落,让基于Ubuntu的Linux Mint变成了最受欢迎的发行版,所谓一报还一报吧。

Canonical也不是一无是处,正如前面讲的,带来了大量普通用户,让小白有机会变成大白,变成老鸟。最后果断更换发行版,然后变成业余开发者,给Tux世界带来正能量!o(∩_∩)o

目前Fedora 17/18的KWin和QtCurve冲突

昨天用Fedora 17做了一次yum upgrade之后就出现了这个惨状:

能够顺利进入KDE桌面,但是执行任何程序均会导致KWin崩溃(卡死在那里,没有任何响应,仅有鼠标指针可以移动)。一开始我不知道是KWin崩溃了,于是我装了razorqt(一个Qt写的轻量桌面环境),用openbox作WM可以顺利进入,但是一旦用KWin作WM就会出现那个卡死的问题。这才知道是KWin有问题。然后我又删掉.kde这个文件夹(这个做法害死我了,直接在razorqt里面进KDE设置不用QtCurve就好了)……这才能够回到K桌面环境下(别跟我说让我在KDE下用openbox做WM)。

怎么发现在Fedora 18下也有这个问题的呢。。。我以为Fedora 18的软件包会比17要新,可能修复了这个问题,于是用FedUp升级了我的Fedora 17到Fedora 18……结果发现我瞎忙活了……

至于我还删掉AMD Catalyst闭源驱动改用开源驱动这个事情我就不说了。

最后终于发现了,是KWin和QtCurve有冲突(具体什么冲突也不知道)。T_T

不过kernel-3.8.0和kde-4.10应该快要放到stable源了,大家等一段时间升级应该会修复这个问题。

Slax中关于KDE程序编译脚本的注意事项

Slax是个非常优秀的Linux发行版,之前说过了,也介绍过制作Slax Bundle的buildscript书写。

但是我今天在编译rekonq的时候遇到了点麻烦,一直提示出错,跑到IRC上#rekonq频道询问,人家告诉我是少了ksgmltools2,确实少了。我发邮件告诉Tomas M(Slax作者),这位仁兄告诉我Slax是特意去除这个组件的,并告诉我要在buildscript里对CMakeLists.txt打一下“补丁”,让程序编译过程去除掉Documentation(文档),这么一来我的rekonq终于编译成功了!

去除文档的办法,是删掉CMakeLists.txt中的ADD_SUBDIRECTORY( doc ),当然我知道可以用文本编辑器去删掉,问题是您要写的是一个脚本在服务器上运行的,所以要用到一些简单的shell脚本来操作,相关行我贴在这里。

cd ${SLAX_BUNDLE_NAME}-${SLAX_BUNDLE_VERSION}

find | grep CMakeLists.txt | while read LINE; do
cat "$LINE" | fgrep -v "add_subdirectory( doc )" 
| fgrep -v "add_subdirectory(doc)" 
| fgrep -v "add_subdirectory (doc)" 
| fgrep -v "add_subdirectory ( doc )" 
| fgrep -v "ADD_SUBDIRECTORY( doc )" >aaa
mv aaa "$LINE"
done

另外一个需要注意的事情,就是对于cmake编译安装的软件,需要在cmake参数里加上 -DLIB_SUFFIX=”${SLAX_64_FLAG}” ,不然在64位系统中也会把libraries安装到/usr/lib而不是/usr/lib64,程序无法找到lib的情况。所以这点千万切记要加上这个参数。

2013/02/06补充:(根据Michal发给我的邮件正文,下面详细贴出buildscript软件编译部分的正确示例)

1) 当使用./configure时,

CFLAGS="${SLAX_CFLAGS}" CXXFLAGS="${SLAX_CFLAGS}" ./configure ${SLAX_CONFIGURE_OPTIONS}

2) 当使用cmake时(假定先执行了mkdir build && cd build了),

cmake -DCMAKE_C_FLAGS:STRING="${SLAX_CFLAGS}" 
 -DCMAKE_CXX_FLAGS:STRING="${SLAX_CFLAGS}" 
 -DCMAKE_INSTALL_PREFIX=/usr 
 -DINCLUDE_INSTALL_DIR=/usr/include 
 -DCMAKE_BUILD_TYPE=Release 
 -DLIB_SUFFIX=${SLAX_64_FLAG} 
 -DLIB_INSTALL_DIR="${SLAX_LIBDIR}" 
 ..

3) 当制作商业闭源软件的Bundle时,必须准备好32位和64位两份预编译包。

if [ "${SLAX_64_FLAG}" = "64" ]; then
 #将64位预编译文件安装到 ${SLAX_BUNDLE_TARGET}
 else
 # 将32位预编译文件安装到 ${SLAX_BUNDLE_TARGET}
 fi

如此才能确保服务器根据buildscript编译出来的Slax Bundle正确。

用buildscript制作Slax的扩展包sb文件

昨天成功用buildscript制作了fcitx在Slax下的sb bundle(一看到sb这个扩展名我就莫名其妙地想笑……233)

我强烈建议大家直接阅读官方的Documentation和template.SlaxBuild,基本就知道怎么做了。

build写好之后,在终端下运行,看看是不是能成功制作出sb文件,然后slax activate之,运作是否正常。一切顺利的话,就可以slax upload上传了,上传的时候会要一个密码,这个密码最好记好了,因为Slax的Modules是不可以有重复的,之后就只能用slax update更新脚本或者slax delete删除脚本了,而后面的操作都会要验证密码是否正确。

在# —————– put your actual build code here: —————后面一定要写详细的编译过程,这个buildscript其实就是一个shell脚本,编译过程参考一下Slax的Module就好了(看看我上传的qtqq和fcitx吧,其它我还真没找到真正“编译”的bundle)。

刚刚又制作了QtQQ的sb,把buildscript上传了,个人觉得Slax还是非常有希望在Linux发行版海洋里活出自己的空间的,首先当然就是它的bundle系统了,和Chakra很像,但是Slax又自称是Pocket system,体积很小,所以还是有自己的优势所在的!唯一比较郁闷的就是Slax的网站关键环节全部是under construction(很多Modules的buildscript已经有了,但是sb文件都没有编译出来,导致可以下载的Modules非常少),这可不行啊,得早日上线运作!

SSH服务器登录提示消息配置

SSH的提示消息分为两种,一种是登录前,一种是登录后。登录前的提示是每个人都可以看到的,所以最好不要涉及机器的任何相关信息,一般给出警告之类的消息。登录后的话可以给出系统的运行情况(负载、空闲内存、空闲硬盘空间、硬件温度等)。

首先设置/etc/ssh/sshd_config,找到这一行

Banner /etc/issue

去掉前面的#注释,然后编辑/etc/issue这个文件,我的内容是:

This is a private machine.

————WARNING————-
Authourized administrators only.
——————————–

Your IP has been recorded.

这样,任何ssh连接到这台机器的终端都会先看到这个警告提示,然后才是密钥验证过程。对于合法的登录用户,会显示/etc/motd这个文件的内容,但是这个文件一般是静态的,不太适合编辑,所以可以编辑用户主目录下的.bash_login文件,这个文件的语法和bash一致,所以可以方便的显示一些动态内容。我这里这个文件的内容是:

echo -e "nOf course it runs on $(uname -s)n"
 CPUTIME=$(ps -eo pcpu | awk 'NR>1' | awk '{tot=tot+$1} END {print tot}')
 CPUCORES=$(cat /proc/cpuinfo | grep -c processor)
 echo "
 System Summary (collected `date`)
 - CPU Usage (average)       = `echo $CPUTIME / $CPUCORES | bc`%
 - Memory free (real)        = `free -m | head -n 2 | tail -n 1 | awk {'print $4'}` Mb
 - Memory free (cache)       = `free -m | head -n 3 | tail -n 1 | awk {'print $3'}` Mb
 - Swap in use               = `free -m | tail -n 1 | awk {'print $3'}` Mb
 - System Uptime             =`uptime`
 - Disk Space Used           = `df / | awk '{ a = $5 } END { print a }'`"

下面看看我的执行效果吧,宿主机器Fedora连接NetBSD虚拟机!(刚刚上面写的df/|awk……a=$4写错了,应该是=$5(已修正),下图的Disk Space Used显示的就是写错成$4的结果,写$5才能读取已使用的百分比)。

ssh

参考来源:Ubuntu Forum | Question Defense (都是英文)

用scp、rsync快速上传文件到SourceForge

其实在我跑到GitHub上开项目之前我都是泡在SourceForge的,后来墙好像盯上了SF.net(现在已经没有封锁SF了!),而且SF当时不支持git管理,只支持svn(虽然我蛮喜欢svn的),我就屁颠屁颠跑到GitHub上感受git的伟大精神去了。

可惜GitHub的速度HTTP下载不够快,有时候需要托管一些大文件,比如Android的固件ROM什么的(鄙人还制作了一个Macis Linux,基于Puppy的发行版,ISO也是贼大的)。之前都是上网用SF的HTML5上传器上传,今天突然觉得这样效率不够给力啊,还要进网页翻目录,然后点Add Files的,有点烦。看到一行小字提示我可以用SCP、Rsync等方式上传(官方网页),下面说说我用的scp方式上传吧。

scp ICS_W30_HatMod2.0beta1_signed.zip librehat@frs.sourceforge.net:/home/frs/project/ramosroms/W30

第一个参数是上传的文件,librehat是我在SF的用户ID,后面ramosroms是项目名称,W30是项目下面的目录(以此类推)。其它的地方就不用改了。当然是终端里面输入。首次使用scp会提示要添加SSH密钥,yes回车,然后输入SourceForge的密码确认身份和权限就会开始上传了。

scp

上传速度还不错,蛮快的。如果是Rsync方式上传的话:

rsync -e ssh ICS_W30_HatMod2.0beta1_signed.zip librehat@frs.sourceforge.net:/home/frs/project/ramosroms/W30

就把前面的scp指令改成rsync -e ssh而已。我就没有测试Rsync了,scp已经够简单易用了!

再次说一下我这个Ramosroms项目吧,是我在SourceForge上创建的非官方固件项目,如果你也是蓝魔平板的固件开发者,欢迎联系我,我可以把你加入到这个项目中,这样大家都能简便地集中固件在同一个地方供机油们下载!(你不需要掌握Linux,你可以在Winodws下用任何一个浏览器打开SourceForge用网页上传的方式,速度也很快,只不过不能上传超过1G的文件……囧……哪会要用到1G的东西啊?)

小型KDE桌面Linux系统Slax 7.0塞入U盘体验记

我知道这个题目挺拗口的……Orz…

Slax GNU/Linux的网站: http://www.Slax.org

这是一个小型的KDE桌面环境的Linux发行版,基于Slackware制作而成!210MB的体积(中文版的体积为220MB)!驱动什么的都很齐全!KDE 4.9.4!

说说我怎么把它塞入U盘的吧,我这里是有一个专门装好GRUB2引导程序的U盘了,作为我的多功能启动U盘,关于怎么给U盘装GRUB2的话网上应该有,没有的话也很简单,就是在Linux下面grub-install而已……只不过最好用EXT2/3/4分区格式。

然后修改grub2的配置文件,加上下面这几行。

menuentry '啟動Slax 7.0作業系統'{
 load_video
 set gfxpayload=keep
 insmod gzio
 set root='(hd0,msdos1)'
 echo '裝載映像中...'
 linux /slax/boot/vmlinuz load_ramdisk=1 prompt_ramdisk=- rw printk.time=0 slax.flags=perch,xmode quiet
 echo '創建虛擬磁碟中...'
 initrd /slax/boot/initrfs.img
 }

唯一要注意的就是linux那一行的slax.flags参数,perch表示不保留更改保留更改(去掉perch将以LiveCD的形式运行),xmode表示进入图形化界面(KDE),还可以加入toram参数表示复制到内存中运行(这样就能在启动后把U盘拔出来,而且系统的运行速度会快一点,嘛,USB 3.0的可以忽视快一点的说法)。

当然不要忘记复制系统文件了!在官网下载简体中文版的zip包,将slax文件夹解压出来复制到U盘根目录就可以了。如果你跟我一样有强迫症,不要多余的文件的话,那么可以到slax下的boot文件夹中,将除了vmlinuz和initrfs.img以外的文件都删掉。

下面是简短的评述和截图

启动后的界面,典型的KDE风格
桌面的软件仓库打开,提示软件仓库还没有准备好呢……
Firefox预装了FXChrome主题,一开始看去被吓到了。。。

这个系统虽然个头比Slitaz和Puppy之类的要大得多,但是驱动非常齐全。我的电脑上硬件全部识别工作正常(Puppy对我的显卡和无线支持不好,Slitaz就更不用说了,驱动方面渣渣的)。而且作为KDE粉,难道不应该让自己用的所有Linux都是KDE么?(奸笑中……)

扩展方面的话,我看了一下zip下的几个sb文件,都是squashfs文件,应该按照它们的结构自己做扩展放进去就能被自动加载的,不用担心。待我研究好了告诉各位,目前是想把Avast!这个杀软和GParted分区软件做成sb文件塞进去,这样就能让我的Slitaz下岗了。。。