显示标签为“Linux”的博文。显示所有博文
显示标签为“Linux”的博文。显示所有博文

2012年12月4日星期二

解决安装Ubuntu Server后启动时黑屏的问题

我装的是Ubuntu 12.10, 显卡是Intel的。 这应该是电脑里显卡和系统不匹配导致的,花了点时间,终于找到一个成功的解决方案:

1.先从CD里启动,跳到安装界面的时候注意下面有提示F6: Other Options, 按F6,选择nomodeset.

2. 再从硬盘里启动,boot的时候在选中Ubuntu时(下面还有recovery mode之类的选项)手快按下e,这就是edit grub了。

3. 在grub中插入一行i915.modeset=1.

4. 按Ctrl+x重新boot.

5. 现在已经可以进入正常的界面登录和操作了,为了让这个设定一直生效呢,需要修改/etc/default/grub.

6. 敲入命令sudo vi /etc/default/grub, 用vi来修改。

7. 查看grub文件,发现有一行GRUB_CMDLINE_LINUX_DEFAULT='''', 插入一段变成GRUB_CMDLINE_LINUX_DEFAULT=''quiet splash i915.modeset=1'',保存退出。应该就可以了。

其他品牌显卡也可以参照此做法,具体可以参考文章:
http://ubuntu-tutorials.com/2010/05/06/ubuntu-10-04-lucid-blank-screen-at-startup-workaround/

2012年10月14日星期日

Linux下复制命令的错误:cp: omitting directory ` '

想把一个文件夹复制到另一个路径下,敲入命令:
cp /var/www/xxx /home/username
却出现如下错误提示:
cp: omitting directory `xxx' 

这其实是一个很菜鸟的错误,因为我们在这里要操作的是文件夹,其中包含多个文件,所以需要的命令应该是:
cp -r /var/www/xxx /home/username
其中-r的意思是recursively copy all the files
或者用另一命令:
cp -a /var/www/xxx /home/username
-a就是all啦

需要注意的是,以上两个命令有少少的区别:
cp -r可能会改变文件夹或文件的某些属性和权限;而用cp -a复制过去,原本和复制本是一模一样的。

2012年9月15日星期六

Linux下增加虚拟内存


虚拟内存其实是将硬盘规划出一个区间,使得内存的数据可以由硬盘来读取。当物理内存不够的时候,某些在内存当中所占的程序会暂时被移动到虚拟内存里去。所以,我们可以通过增加虚拟内存来缓解压力。

增加虚拟内存有两种方法:一是增加一个硬盘的分区;二是增加一个虚拟内存的档案。下面说说第二种办法:

1.在/tmp下增加一个 64MB 的档案
dd if=/dev/zero of=/tmp/swap bs=4k count=16382
其中dd是转移并复制档案,/zero是空档案,if是input file,of是output file,bs是一个扇区的容量,count是扇区的数目。在以上命令中,共增加16382*4k=64M的档案。

2.将 /tmp/swap 这个档案格式化为 swap 的档案格式
mkswap /tmp/swap

3.在启用这个swap的档案之前,我们先看一下当前机子的内存
free
我们可以看到swap这一条里有:
Swap:       261112          0     261112

4.使用root权限su来启用刚建立的swap档案
swapon /tmp/swap
再用free命令看一下现在的内存,会发现已经增加了64M:
Swap:       326632          0     326632

5.最后不用时,可以把刚增加的虚拟内存关掉
swapoff /tmp/swap

参考文章:《鸟哥的Linux私房菜》P.287-P.289

2012年7月6日星期五

如何设置多个显示器的相对位置(适用Ubuntu)

X RandR是Ubuntu下一个非常好用的命令,用于一台主机连接的调节多个屏幕。

接好显示器后,首先在命令行里敲入:xrandr -q
就会显示出连接中的显示器,比如我的:

VGA1 connected 1600x900+1366+0 (normal left inverted right x axis y axis) 443mm x 249mm
   1600x900       60.0*+   60.0  
   1280x1024      75.0     60.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  
LVDS1 connected 1366x768+0+0 (normal left inverted right x axis y axis) 294mm x 166mm
   1366x768       60.0*+
   1360x768       59.8  
   800x600        60.3  
   640x480        59.9  

根据以上的名称和位置模式等,就可以调整它们了。

先试试关掉其中一个:xrandr --output LVDS1 --off

再把它打开,放在另一个的左边:xrandr --output LVDS1 --auto --left-of VGA1

现在是可以在不同显示器之间自由拖曳窗口,两个显示器的位置是自动的,并不重叠。

如果要调整位置,可以根据上面显示的属性来设置,比如说:

xrandr --output LVDS1 --mode 1366x768 --pos 0x0 --output VGA1 --mode 1600x900 --pos 1200x0

因为第一个显示器的宽度是1366,第二个显示器的位置只向移了1200,现在就有重叠部分了。



2012年6月10日星期日

Ubuntu下怎么知道自己电脑的硬件规格

试了几个不同的命令,感觉最好用的是:  sudo dmidecode

会分门别类地举出系统各个部分的所有信息。如果想看某一项,可以用

sudo dmidecode -t processor      (CPU核芯)
sudo dmidecode -t memory        (内存)
sudo dmidecode -t cache             (缓存)
sudo dmidecode -t system           (电脑型号、产商)
sudo dmidecode -t slot                 (插卡槽)
sudo dmidecode -t baseboard     (主板)
sudo dmidecode -t connector      (连接设备)
sudo dmidecode -t chassis           (机箱)
sudo dmidecode -t bios                 (BIOS)  

或者用数字表示,例如,查看内存的具体型号,可以用: sudo dmidecode -t 17

其他设备的编号如下:

1System
2Base Board
3Chassis
4Processor
5Memory Controller
6Memory Module
7Cache
8Port Connector
9System Slots
10On Board Devices
11OEM Strings
12System Configuration Options
13BIOS Language
14Group Associations
15System Event Log
16Physical Memory Array
17Memory Device
1832-bit Memory Error
19Memory Array Mapped Address
20Memory Device Mapped Address
21Built-in Pointing Device
22Portable Battery
23System Reset
24Hardware Security
25System Power Controls
26Voltage Probe
27Cooling Device
28Temperature Probe
29Electrical Current Probe
30Out-of-band Remote Access
31Boot Integrity Services
32System Boot
3364-bit Memory Error
34Management Device
35Management Device Component
36Management Device Threshold Data
37Memory Channel
38IPMI Device
39Power Supply
40Additional Information
41Onboard Device

最后的最后,补一个外接硬件的:lsusb