Welcome 微信登录
编程资源 图片资源库 蚂蚁家优选 PDF转换器

首页 / 操作系统 / Linux

动态壁纸给Linux发行版添加活力背景

动态壁纸给Linux发行版添加活力背景

我们知道你想拥有一个有格调的Ubuntu桌面来炫耀一下 :)在linxu上费一点点劲搭建一个出色的工作环境是很简单的。今天,我们着重来探讨长驻你脑海中那些东西 :一款自由,开源,能够给你的截图增添光彩的工具。它叫 Live Wallpaper (正如你猜的那样) ,它用由OpenGL驱动的一款动态桌面背景来代替标准的静态桌面背景。最好的一点是:在ubuntu上安装它很容易。动态壁纸主题Live Wallpaper 不是此类软件唯一的一款,但它是最好的一款之...
在 Android 系统上安装 Debian Linux 与 R

在 Android 系统上安装 Debian Linux 与 R

其实在 Android 平板上通过第三方软件 , 已经可以提供很多类似一般桌面 Linux 系统的工具了 。 常用的 Firefox、VLC、 LibreOffice 以及 终端模拟器 都有 Android 版本 , 结合 Busybox 也能拥有大部分 coreutils 工具 , 甚至还有诸如 Terminal IDE 这种一站式的开发工具方案 ( 不过不支持 Android 5.0+)。 若是想要接近桌面级别的体验的话 , 比如像在下希望使用的 R ...
Linux 内核中 likely 与 unlikely 的宏定义解析

Linux 内核中 likely 与 unlikely 的宏定义解析

在Linux 2.6 内核中,随处可以见到 likely() 和 unlikely() 的身影,那么为什么要用它们?它们之间有什么区别?首先要明确: if(likely(value)) 等价于 if(value) if(unlikely(value)) 也等价于 if(value)也就是说 likely() 和 unlikely() 从阅读和理解代码的角度来看,是一样的!!!#define likely(x) __builtin_expect((x),1)...
Linux常见问题解答--如何修复“tar:由于前一个错误导致于失败状态中退出”

Linux常见问题解答--如何修复“tar:由于前一个错误导致于失败状态中退出”

问题: 当我想试着用tar命令来创建一个压缩文件时,总在执行过程中失败,并且抛出一个错误说明"tar:由于前一个错误导致于失败状态中退出"("Exiting with failure status due to previous errors"). 什么导致这个错误的发生,要如何解决?如果当你执行tar命令时,遇到了下面的错误,那么最有可能的原因是对于你想用tar命令压缩的某个文件中,你并不具备其读权限。tar:Exitingwith failure st...
echo命令详解

echo命令详解

echo:echo [-neE] [arg ...] echo会将输入的字符串送往标准输出。输出的字符串间以空白字符隔开, 并在最后加上换行号。Options: -n 不在最后自动换行 -e 使用反斜杠的解释 -E 抑制反斜杠的解释使用-e选项时,若字符串中出现以下字符,则特别加以处理,而不会将它当成一般文字输出:a发出警告声; 删除前一个字符;c 最后不加上换行符号;f 换行但光标仍旧停留在原来的位置; 换行且光标移至行首; 光标移至...
Linux教程:在 Ubuntu 15.04 的 GNOME 终端中开启多个标签

Linux教程:在 Ubuntu 15.04 的 GNOME 终端中开启多个标签

问: 我以前可以在我的 Ubuntu 台式机中的 gnome-terminal 中开启多个标签。但升到 Ubuntu 15.04 后,我就无法再在 gnome-terminal 窗口中打开新标签了。要怎样做才能在 Ubuntu 15.04 的 gnome-terminal 中打开标签呢?在 Ubuntu 14.10 或之前的版本中,gnome-terminal 允许你在终端窗口中开启一个新标签或一个终端窗口。但从 Ubuntu 15.04开始,gnome-...
Linux下的两个经典宏定义

Linux下的两个经典宏定义

本文首先介绍Linux下的经典宏定义,感受极客的智慧,然后根据该经典定义为下篇文章作铺垫。offsetof宏定义:// 获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量。#define offsetof(TYPE, MEMBER) ((size_t) &((TYPE *)0)->MEMBER)说明:获得结构体(TYPE)的变量成员(MEMBER)在此结构体中的偏移量。1.( (TYPE *)0 ) 将零转型为TYPE类型指...
一个Linux内核的自旋锁设计-接力嵌套堆栈式自旋锁

一个Linux内核的自旋锁设计-接力嵌套堆栈式自旋锁

锁的开销锁的开销是巨大的,特别是对于多核多处理来讲。引入多处理,本身就是为了将并行化处理以提高性能,然而由于存在共享临界区,而这个临界区同时只能有一个线程访问(特别是对于写操作),那么本来并行的执行流在这里被串行化了,形象地看,这里好像是宽阔马路上的一个瓶颈,由于串行化是本质上存在的,因此该瓶颈就是不可消除的。问题是线程执行流如何度过这个瓶颈,很显然,它们谁都绕不开,现在问题是是它们到达这个瓶颈时该怎么办。很显然,斗殴抢先是一种不合理但实用的简单方案,朴素...
Linux软防火墙ACL匹配的优化点

Linux软防火墙ACL匹配的优化点

首先,请求不要再诬陷Netfilter!虽然它有一些固有性能损耗,但敬请不要将iptables和Netfilter等同,如果你要抓元凶,请直接说iptables,而不要说成Netfilter!iptables真的是弱爆了!它的ipt_do_table竟然是五大元凶之一,如果规则超过了7000,那么它就是之首(其它的元凶是nf_conntrack函数,它们也是Netfilter的HOOK)。iptables低效的原因在于它的ACL规则没有经过预处理,直接使用...
Linux内核RCU(Read Copy Update)锁简析-前传

Linux内核RCU(Read Copy Update)锁简析-前传

如果你用Linux perf tool的top命令做热点纠察时,你会发现,前10名嫌疑犯里面肯定有好几个都是锁!在进行并行多处理时,不可避免地会遇到锁的问题,这是不可避免的,因为这一直以来也许是保护共享数据的唯一方式,被保护的区域就是临界区。而我们知道,锁的开销是巨大的,因为它不可避免地要么等待,要么让别人等待,然而这并不是开销的本质,开销的本质在于很多锁都采用了“原子操作”这么一个技术,如此一个原子操作会对总线或者cache一致性...
RCU锁在Linux内核的演变

RCU锁在Linux内核的演变

2.6内核引入了RCU锁,这种锁十分高效,总的说来就是读时加锁,写时拷贝,读后更新。具体的流程可以参照 rcu的相关文档。本文主要谈一下rcu在Linux2.6内核的演变过程,它分别经历了三个阶段,分别是传统rcu锁,可抢占rcu锁以及2.6.29 中将要引入的树形分层rcu锁。Linux中最早引入的rcu锁十分的粗糙,实现原理也是非常简单,毕竟Linux中不管多复杂的机制一开始的时候都是十分简单的,这一点可以看看 Linux0.01到Linux2.6.2...
Linux内核RCU(Read Copy Update)锁简析

Linux内核RCU(Read Copy Update)锁简析

前面写过一篇关于Linux RCU锁的文章《RCU锁在Linux内核的演变》,现在我承认,那个时候我虽然懂了RCU锁,但是我没有能力用一种非常简单的描述把Linux的实现给展示出来,有道是你能给别人用你自己的方式非常简洁地描述清楚,你才是真正的精通它,否则,无异于背诵。换个说法,如果你在被面试,在短时间内靠嘴说给面试官,且他还要能听明白,就说明自己真的懂了,这种时候,是不会给你机会分析源代码的,也不可能让你背诵源代码。近期又碰到了这个话题,我不能自诩自己对...
修改grub解决计算机启动报错:ERROR 17

修改grub解决计算机启动报错:ERROR 17

修改grub解决计算机启动报错:ERROR 17原本计算机有C,D,E,F,G。C盘windows系统盘,G盘安装了CentOS。后来由于需要,就压缩卷的方式从D盘压缩出一个H盘。然后再次启动计算机的时候就遇到了错误:ERROR 17原因:就在于先安装Windows后安装Linux这样的话,grub就由位于G盘的CentOS引导,现在该分区之前又划分出一个新的逻辑分区,就导致磁盘系统符号向后移了一位,因此grub失败。解决方案:1,刻录一个Linux安装U...
<< 961 962 963 964 965 966 967 968 969 970 >>