分类: Linux & homelab

  • Linux与N卡的那点事

    时效性提醒:本文首次编写发布于11 年前。

    Liuns大神的一句”so nvidia, Fuck you!”,给很多人留下了Linux下n卡驱动极为蛋疼的印象。其实,极为蛋疼的情况只出现于双显卡笔记本上,对于台式机,还是很和谐的。

    (更多…)

  • QtCurve——KDE下可高度定制的主题

    时效性提醒:本文首次编写发布于11 年前。

    QtCurve不仅仅是一个主题,它更像是一个“引擎”,能让你按照你自己喜欢的样子来“自制”一个主题。

    截图中的半透明主题就是我用QtCurve“自制”出来的。

  • konqueror——你不知道的KDE自带浏览器

    时效性提醒:本文首次编写发布于11 年前。

    konqueror是KDE桌面环境自带的浏览器、文件管理器和文档查看器,功能很强大的,但却十分小众。

    其实,konqueror用来做日常使用的浏览器是完全足够的,konqueror主要使用webkit内核,对HTML5的支持不言而喻,并且界面也与kde桌面很贴合,是KDE桌面下的首选之一。

    不知是因为它轻量级还是什么,konqueror打开网页非常的快,几乎一瞬间就打开了,感觉非常的爽。

    (更多…)

  • 在一些"无法使用输入法的Linux程序"中输入中文

    时效性提醒:本文首次编写发布于11 年前。

    Linux大法虽好,可有些程序在Linux下则会有一些问题,比如Sublime Text和Telegram等,这些程序一般看起来不会有太大的问题,但一想输入中文就坑爹了:根本不出现输入法的”输入条”,以至于无法输入中文。

    这样就真的无法输入中文了吗?不,我们还有复制粘贴大法:先在其他的程序的一个正常的文本框里把要输入中文打好,之后在复制粘贴到有问题的程序的文本框中。

    好吧,我能想象到你现在的暴漫表情。确实,这太麻烦了,所以我们需要dialogxclipxdotool这三个工具来实现整个过程的自动化。

    首先,安装dialogxclipxdotool,deb系的发行版执行一些内容即可安装,其他系的发行版类似:

    sudo apt-get install dialog xclip xdotool

    然后,建一个脚本,输入以下内容:

    #!/bin/bash
    kdialog --inputbox ' ' | tr -d 'n' | xclip -i -selection clipboard #非qt环境的用户请把kdialog改为gdialog
    xdotool key "ctrl+v"
    

    最后,在你的桌面环境的快捷键设置中,添加一个你喜欢的自定义快捷键,并设置在快捷键按下时执行刚才的那个脚本。

    就这样,以后在你不能输入中文的文本框中,按快捷键,会弹出一个带有正常的文本框的对话框,在里面输入完中文后按回车,你输入的中文就会自动的粘贴到不能输入中文的文本框中。非常的方便。

  • Debian快速安装小技巧

    时效性提醒:本文首次编写发布于11 年前。

    Debian是一个十分强大的Linux发行版,然而默认的安装方式是网络安装。默认选择的源在国内非常的慢,所以我们需要一些简单的技巧来让它不要联网安装。

    首先,我们需要下载Live-CD的镜像,选择你的桌面环境。

    之后我们要制作安装盘,这里推荐U盘安装。如果你已经有Linux系统,可以通过以下命令。]

    # dd if=/path/to/you/image/debian-livecd.iso of=/dev/sdb

    之后就可以安装了,在引导选择界面选择install。之后再配置网络时返回菜单,选择跳过网络配置。

    配置完磁盘分区后,你就会发现,安装程序直接把自带的镜像写入磁盘,非常的快。

    整个过程只需要10分钟左右。

  • Linux驱动开发入门

    时效性提醒:本文首次编写发布于11 年前。
    转载自:blog.chinaunix.net

    在开始步入Linux设备驱动程序的神秘世界之前,让我们从驱动程序开发人员的角度看几个内核构成要素,熟悉一些基本的内核概念。我们将学习内核定时器、同步机制以及内存分配方法。不过,我们还是得从头开始这次探索之旅。因此,本章要先浏览一下内核发出的启动信息,然后再逐个讲解一些有意思的点。

    2.1 启动过程

    图2-1显示了基于x86计算机Linux系统的启动顺序。第一步是BIOS从启动设备中导入主引导记录(MBR),接下来MBR中的代码查看分区表并 从活动分区读取GRUB、LILO或SYSLINUX等引导装入程序,之后引导装入程序会加载压缩后的内核映像并将控制权传递给它。内核取得控制权后,会 将自身解压缩并投入运转。

    基于x86的处理器有两种操作模式:实模式和保护模式。在实模式下,用户仅可以使用1 MB内存,并且没有任何保护。保护模式要复杂得多,用户可以使用更多的高级功能(如分页)。CPU必须中途将实模式切换为保护模式。但是,这种切换是单向的,即不能从保护模式再切换回实模式。

    内核初始化的第一步是执行实模式下的汇编代码,之后执行保护模式下init/main.c文件(上一章修改的源文件)中的start_kernel() 函数。start_kernel()函数首先会初始化CPU子系统,之后让内存和进程管理系统就位,接下来启动外部总线和I/O设备,最后一步是激活初始 化(init)程序,它是所有Linux进程的父进程。初始化进程执行启动必要的内核服务的用户空间脚本,并且最终派生控制台终端程序以及显示登录 (login)提示。

    图2-1 基于x86硬件上的Linux的启动过程

    本节内的3级标题都是图2-2中的一条打印信息,这些信息来源于基于x86的笔记本电脑的Linux启动过程。如果在其他体系架构上启动内核,消息以及语义可能会有所不同。
    (更多…)

  • 使用wget命令下载整个网站

    时效性提醒:本文首次编写发布于11 年前。

    wget是不可多得的下载神器,你甚至可以用它下载整个网站:

    wget -r -p -np -k http://some-website.com

    当然,这种事情自己看着玩就好,用作其他目的还请务必先得到网站原作者的许可。

  • Linux中du命令使用详解

    时效性提醒:本文首次编写发布于11 年前。

    du命令的全称是disk usage ,即磁盘使用。

    该命令常用于统计整个文件夹的大小。

    (更多…)

  • Linux中top命令使用详解

    时效性提醒:本文首次编写发布于12 年前。

    top是linux中一个交互式系统监视器,可以很直观查看系统负载、进程、内存等信息。

    (更多…)

  • AssaultCube开源第一人称射击游戏服务器搭建

    时效性提醒:本文首次编写发布于12 年前。

    AssaultCube是一款免费开源的跨平台第一人称视角射击游戏,支持单机或多人游戏,多人游戏依靠游戏服务器来进行。

    下面我们来介绍一下其游戏服务器的搭建,你可以在你的服务器上搭建一个它的游戏服务器,它会自动把你的建的服务器加入到服务器列表中,别人就可以很方便的连接你的服务器。

    我们以linux为例,介绍一下其游戏服务器的搭建。

    首先,我们要下载AssaultCube,它的客户端和服务器都在一起,可以在这里下载。或直接执行:

    wget "http://cznic.dl.sourceforge.net/project/actiongame/AssaultCube%20Version%201.2.0.2/AssaultCube_v1.2.0.2.tar.bz2"

    接下来,解压缩:

    tar -xf AssaultCube_v1.2.0.2.tar.bz2

    进入目录:

    cd AssaultCube_v1.2.0.2/

    里面有一个叫”bin-unix”的目录,其中linux_server就是服务器程序,还有一个linux_64_server是64位版的服务器程序。

    在启动它之前,先更新一下防火墙规则之类的,AssaultCube服务器默认使用2876328764两个端口。

    一切就绪后,我们可以试着启动我们的服务器了,执行:

    ./bin_unix/linux_server

    如果显示类似如下的信息,就表示成功了,在客户端的服务器列表里就有你的服务器了。

    logging started: console(INFO), file(DISABLED), syslog(INFO, "AssaultCube[local#28763]", local6), timestamp(DISABLED)
    logging local AssaultCube server (version 1202, protocol 1201/104) now..
    read 95 map rotation entries from 'config/maprot.cfg'
    read 0 admin passwords from 'config/serverpwd.cfg'
    read 0 (0) blacklist entries from 'config/serverblacklist.cfg', 0 errors
    read 0 + 0 entries from nickname blacklist file 'config/nicknameblacklist.cfg', 0 errors
    anticheat: enabled
    dedicated server started, waiting for clients...
    Ctrl-C to exit
    looking up ms.cubers.net:28760...
    master server registration succeeded

    这样,一个游戏服务器就建好了,关于其一些选项参数的说明在./config/servercmdline.txt中。
    官方文档(英文):http://assault.cubers.net/docs/server.html

  • Linux下你不能不知道的下载神器 – wget

    时效性提醒:本文首次编写发布于12 年前。

    wget是linux下的字符界面下载工具,一般linux发行版都内置了这个软件,这个wget的功能可谓是非常强大,它的优点主要有这些:

    1. 支持断点续传,这个功能的给力之处不说大家也明白,有了它你再也不用在下载大文件时提心吊胆,也可以有效的保证电脑的“生命安全” – 以免你下载了三天三夜到99%时下载失败,结果你一怒之下把电脑砸了:)
    2. 支持批量下载功能,你可以把要下载的URL一行一个的放在一个文本文件里,然后让wget全下载了。
    3. 支持代理,在这个“你懂的”的时代,代理是多么的重要。
    4. 对于下载网页非常厉害,你甚至可以把整个网站下载到本地。

    当然,它还有很多其它的优点,我们就不一一描述了。

    (更多…)

  • Linux 图形界面机制简单介绍

    时效性提醒:本文首次编写发布于12 年前。

    Linux 下图形界面比较复杂,主要由X-Server,X-Client,窗口管理器和桌面系统

    如果你的Linux装有图形界面登录管理器,那它就会自动完成图形界面的启动过程,这是很方便的.不过我们要研究图形界面的时候,最好把它关掉.

    假设你已经把图形界面登录管理器关了,回到了纯字符界面下,那么恭喜你,你有看到图形界面的具体组成的机会了.

    现在我们在终端里执行xinit,就会启动一个X-Server和一个与它相连的X-Client,并且启动了Xterm,Xterm是一个图形界面下的终端模拟器.

    (更多…)

  • Debian下Apache的配置文件

    时效性提醒:本文首次编写发布于12 年前。

    Linux的一个特点就是发行版多,不同的发行版造就了一些不同,比如悲催的Apache…

    在Red hat系下,Apache被叫做httpd; 而在debian系中,Apache就叫apache.

    debian下apache的配置文件在/etc/apache2/中,是由多个配置文件组成的一个目录,结构主要如下:

    #       /etc/apache2/
    #       |-- apache2.conf
    #       |       `--  ports.conf
    #       |-- mods-enabled
    #       |       |-- *.load
    #       |       `-- *.conf
    #       |-- conf-enabled
    #       |       `-- *.conf
    #       `-- sites-enabled
    #               `-- *.conf
    

    也就是说,这些文件共同组成了apache的配置.

  • Ubuntu添加桌面小工具

    时效性提醒:本文首次编写发布于12 年前。

    ubuntu不仅仅是一个十分专业的系统,也是一个十分华丽的系统,可以配合各种主题和插件来让你的ubuntu更加多彩。

    在ubuntu下实现桌面小工具的是conky,还有一个方便配置它的conky-manager(conky配置管理器)。

    (更多…)