红联Linux门户
Linux帮助

Linux下新手基本操作及技巧看图上路

发布时间:2005-10-21 11:09:21来源:红联作者:yy123
来 源: 赛迪网-IBM专区
作者:IBM专区

对于一个广大刚刚接触Linux的用户来说,如何顺利的登录进入 Linux 系统中进行软件安装,为完成某些任务还要成为超级用户(或者root),打开一个终端或者shell窗口进行操作是提高工作效率的基础。本文将这些基本操作和技巧汇总起来,希望能对您迅速上手Linux有所帮助。
登录
这些说明和示例侧重于使用 GNOME 桌面的 Red Hat Enterprise Linux Version 3(RHEL3)和使用 KDE 桌面的 SUSE Linux Enterprise Server Version 9(SLES9)。其他桌面和窗口管理器也是可用的,比如 fvwm2、windowmaker 和 twm。

安装完系统并引导起来后,应该会看到类似图 1(RHEL3 系统)或图 2(SLES9 系统)的登录屏幕。

图 1. RHEL3 登录屏幕


图 2. SLES9 登录屏幕
文章评论

共有 9 条评论

  1. 154978 于 2005-10-23 00:42:30发表:

    支持

  2. yy123 于 2005-10-21 11:21:33发表:

    也可以从桌面上的 Start Here 图标,先选择 System Settings,再选择 Users and Groups。

    图 20. Red Hat Start Here 图标

    如果您不是以 root 用户身份登录的,则在提示时需要提供 root 口令。然后您就会看到 Red Hat User Manager 屏幕。要查看系统用户和组,单击 preferences 菜单下的过滤器设置,如 图 21 所示。

    图 21. Red Hat User Manager

    我们可以像先前使用 SuSE 系统时所做的一样,首先定义我们的组。但是,Red Hat User Manager 有一个对我们来说很便利的功能,它会为用户创建一个私有组,它的组名与用户名相同。因此我们将单击 Add User 按钮并填入 mqm 用户的详细信息。记住请将主目录设置为 /var/mqm。


    图 22. 在 Red Hat Linux 中添加用户

    单击 OK 之后,您将返回到 Red Hat User Manager。单击 Add Group 以添加 mqbrkrs 组。一旦定义了组,您就需要将 root 添加到 mqbrkrs 和 mqm 组。您可以选择组并使用其特性来添加用户,或者选择用户并使用其特性来添加组。我们将单击列表上方的 Users 选项卡,然后单击 root 用户,再单击 Properties 按钮以打开用户特性。当特性窗口打开时,单击 Groups 选项卡,然后向下滚动到 mqm 和 mqbrkrs 项。分别单击这两项左边的复选框以添加选中标记,这表明现在 root 用户已经是这些组的成员了。完成后,单击 OK 返回。

    图 23. Red Hat User Manager


    重复上述过程,使 mqm 用户成为 mqbrkrs 组的成员。如果您愿意,可以切换到组列表视图并尝试将 mqm 添加到组,而不是将 mqbrkrs 添加到用户。完成之后,可以关闭 Red Hat User Manager。

    使用命令行添加用户和组
    关于组的信息以普通文本文件的形式存储在 /etc/group 中。您可以使用 groupadd 命令添加新组。这非常简单。添加新用户要复杂一些,因为参数更多,并且在添加 mqm 用户时,您需要 mqm 组的数字号码。让我们使用 groupadd 命令添加两个组(mqm 和 mqbrkrs),然后使用 grep 命令搜索 /etc/group,这会告诉我们所分配的组号是什么。


    [root@echidna root]# groupadd mqm
    [root@echidna root]# groupadd mqbrkrs
    [root@echidna root]# grep mq /etc/group
    mqm:x:501:
    mqbrkrs:x:502:



    在本例中,mqm 组的组号是 501,而 mqbrkrs 的组号是 502。现在让我们使用 useradd 命令添加 mqm 用户。 -c 选项允许我们指定注释,它通常是用户的实名。-d 选项允许我们为该用户指定主目录。 -g 选项指定用户的主组。这里我们使用 501,从前面可知,它就是 mqm 组。您系统上的号码可能与此不同。我们所使用的最后一个选项是 -G 选项,用来为该用户指定其他组。此处可以使用组名。一旦添加了用户,可以再次使用 grep 命令,您会看到已经将用户 mqm 添加到了 mqbrkrs 组。此时,您已经创建了新用户,但该用户没有口令,因此不能登录到系统。有些用户不需要登录,对于这些用户这样就可以了。root 用户拥有设置(或重新设置)其他用户口令的权限。要做到这一点,使用 passwd 命令并提供用户名作为参数。将会提示您输入新口令,然后会提示您再次输入以进行验证。


    [root@echidna root]# useradd -c"MQ Messaging" -d/var/mqm -g 501 -G mqbrkrs mqm
    [root@echidna root]# grep mq /etc/group
    mqm:x:501:
    mqbrkrs:x:502:mqm
    [root@echidna root]# passwd mqm
    Changing password for user mqm.
    New password:
    Retype new password:
    passwd: all authentication tokens updated successfully.



    最后,您可能需要将用户添加到现有的组。可以使用 usermod 命令来做到这一点,但您需要该用户的现有组的列表,因为您将用它替代其他组的列表。因此,只编辑 /etc/group 要容易些。首先制作一个备份副本,万一您犯了错误可以用备份来恢复。要将 root 用户添加到我们刚才创建的 mqm 组和 mqbrkrs 组,编辑 /etc/group,并更新 mqm 和 mqbrkrs 行,使它们如下所示。


    mqm:x:501:mqm,root
    mqbrkrs:x:502:mqm,root


    您会在 /etc/passwd 中找到大量用户信息。但是,如果您不是专职系统管理员,您可能会发现通过图形界面执行偶尔的用户和组操作更容易些。

  3. yy123 于 2005-10-21 11:19:23发表:

    默认情况下,会在 /home 中为新用户创建主目录,因此 mqm 的默认主目录是 /home/mqm。但是, MQ Series 软件通常使用 /var/mqm 作为 mqm 用户的主目录,因此我们将主目录更改为 /var/mqm。我们还将使用下拉列表使 mqm 成为新用户的默认组。最后,我们将向下滚动附加组列表,并使 mqm 成为 mqbrkrs 组的成员。单击 Next 返回到图 16 的屏幕,然后单击 Create 以创建新用户。

    图 17. 添加用户 - 第 2 部分

    现在,我们要将 mqm 和 mqbrkrs 组添加到 root 用户标识。为了做到这一点,我们首先需要点击 Set filter 下拉菜单,然后点击 System Users。接下来点击包含有 root 的那一行来选中它,然后单击 Edit 按钮。与上面对 mqm 用户所做的一样,单击 Details,然后向下滚动 Additional groups 列表,单击 mqm 和 mqbrkrs 组的复选框来将 root 添加到这些组。

    图 18. 将组添加到用户

    单击 Next 返回到第一个编辑屏幕,然后单击 Next 返回到用户管理屏幕。最后,单击 finish 提交所有更改。

    向您的 Red Hat Linux 系统添加用户和组
    出于本练习的目的,我们假定使用一个运行 GNOME 桌面的 Red Hat Linux 8.1 系统。如果您用的是 KDE 桌面或 Red Hat Linux 的不同版本,那么您会发现一些差异。复习本节和前一节,您就应该清楚会出现哪些步骤,并会得到完成任务所需的足够信息。

    首先您需要启动 Red Hat User Manager。单击任务栏左边的 GNOME Menu 图标(带有“红帽子”徽标),然后选择 System Settings,再选择 Users and Groups。

    图 19. 任务栏中的 Users and Groups

  4. yy123 于 2005-10-21 11:17:40发表:

    注销
    要注销,请点击 Start 然后点击 logout。在 SUSE 和 Red Hat 系统中,您都可以方便地添加一个用于注销的面板图标以及用于锁定屏幕的面板图标。在两个系统上方法都是类似的。这里的例子使用的是 Red Hat 系统。首先右击面板的空白部分。查看可用的菜单,您会发现一个向面板添加注销和锁定图标的选项。对于 Red Hat 来说,这些可以单独添加。在 SUSE 9 中,它们要一起成对添加。 Red Hat 的菜单如图 11 所示,

    图 11. 在 Red Hat enterprise Linux 3 中添加注销按钮

    您的面板上会增加一个注销图标,如图 12 所示。

    图 12. GNOME 注销图标

    可以用同样的方式添加一个锁定屏幕的按钮。在 SUSE SLES9 系统中,您将同时添加它们两个。要想不需注销就可以保护终端的安全,请点击挂锁(padlock)图标来锁定屏幕。以后将需要登录口令来解除屏幕锁定。

    注意:在某些运行 KDE 的 SuSE 系统上,您可以锁定屏幕,但却不能用您的口令解除锁定。第一次发生此类情况时,您可能必须关机然后重新启动。要防止以后再出现此类情况,请令 /etc/pam.d 中的 kscreensaver 与 xscreensaver 相同。例如,如果您希望将现有的 kscreensaver 保存为 kscreensaver.original,并希望确保新的 kscreensaver 与 xscreensaver(kscreensaver 从其复制而来)具有相同的时间戳记,那么请以 root 用户身份登录并使用下列命令:

    cd /etc/pam.d
    mv kscreensaver kscreensaver.original
    cp -p xscreensaver kscreensaver

    向系统添加用户和组
    有时您需要在您的系统上定义新用户和用于这些用户的新组。在 WebSphere Application Server 中安装嵌入式消息传递组件时,您可能需要定义一个名为 mqm 的用户,以及一个同样名为 mqm 的组和另一个名为 mqbrkrs 的组。通常您会首先定义组,然后定义将使用该组的用户,此处,我们也将这么做。您可以使用用于用户管理的图形工具,或者在终端窗口中输入命令。在此,我们将概述一个图形化过程,使用 SuSE 的 YaST2 工具 来创建名为 mqm 的用户和名为 mqm 的组。然后我们将告诉您到哪里找到相应的 Red Hat Linux 系统上的工具。最后,如果您确实想从命令行完成任务,我们将向您介绍 命令。

    使用 YaST2 向您的系统添加用户和组
    在使用 KDE 的 SUSE SLES9 系统中,在桌面上应该有一个 YaST 图标(正如我们在 图 4 中所看到的)。打开这个应用程序,并点击左边面板中的 Security and users 来查看图 13 中所示的主面板中的任务。


    图 13. YaST2 Control

    单击 Edit and create groups 项。然后在下一屏上您将看到所有已存在的组。请注意,那里有很多在安装系统时创建的系统组。如果您希望看到它们,请点击靠近屏幕底部的 Set filter 下拉菜单,并选择 System groups。

    图 14. YaST2用户和组管理

    单击 Add 按钮以添加新组。在本例中,我们将在 Group name 字段中输入组名 mqm 并使其他所有字段保持不变。然后单击 Create 以创建该组。您将返回到图 14 所示的屏幕,现在它将向您显示新的组。用同样的方法,添加名为 mqbrkrs 的组。

    图 15. 添加组

    这一次,当您返回到图 14 的屏幕时,您会看到两个新条目。现在您已准备好添加 mqm 用户了。单击靠近屏幕顶部的 Users 单选按钮,然后您会从组管理切换到用户管理。再次请注意,这里有一个允许您查看系统用户的复选框。单击 Add 按钮添加 mqm 用户。您可以指定该用户的姓名。将 mqm 设置为 User login> 并指定口令。然后再次输入口令以确保没有犯打字错误。检查您的条目,然后单击 Details 按钮,因为我们还要对这个用户进行更多操作。

    图 16. 添加用户 - 第 1 部分

  5. yy123 于 2005-10-21 11:14:17发表:

    挂载 DVD 或者 CD-ROM
    在 Linux 和 UNIX? 系统上,所有文件都作为一棵大型树的一部分来访问,该树的根是 /。要访问 CD-ROM 上的文件,必须将 CD-ROM 设备挂载在文件树的某个挂载点上。如果您的发行版本安装了 automount 软件包,那么可能会自动为您完成这个步骤。如果是这样,您只需要插入光盘,它就会被自动识别并完成挂载。无论如何,您的安装过程都有可能为您做一些工作,使 DVD 或 CD-ROM 设备易于挂装。

    这些步骤中的示例适用于 Red Hat Enterprise Linux 3(RHEL3)系统。您会注意到,根据您的光学设备(CD 或 DVD、IDE、SCSI 或 USB,等等)的类型和位置,会有一些区别。 Red Hat 和 SUSE 实现之间也有一些区别,所以您应该把这些信息作为帮助您找到自己系统的正确设置的向导。具体来说,在 RHEL3 上大部分可移动设置挂载在 /mnt 树中,而在 SLES 9 上它们则挂载在 /media 树中。

    Linux 系统的很多设置都存储在 /etc 目录中。在这些设置中有一个文件,其中包含有一张文件系统描述信息表。cat 是拷贝和改写文件的命令。如果没有给定输出文件,则直接输出到标准输出,这个标准输出通常是您的终端窗口。在终端窗口中使用 cat /etc/fstab 命令,以显示 etc/fstab 并查看安装过程认为您的 CD 或者 DVD 应该挂载到哪里。您会看到类似于清单 5 的几行。清单 5 中输出的最后两行表明,这个系统有两个 CD 或者 DVD 设备(/dev/cdrom1 和 /dev/cdrom),它们将被挂载在 /mnt/cdrom1 或 /mnt/cdrom,除非 mount 命令指定了其他位置。

    清单 5. /etc/fstab 的内容


    [root@lyrebird root]# cat /etc/fstab
    LABEL=RHEL3 / ext3 defaults 1 1
    none /dev/pts devpts gid=5,mode=620 0 0
    LABEL=GRUBFILE /grubfile ext3 defaults 1 2
    none /proc proc defaults 0 0
    none /dev/shm tmpfs defaults 0 0
    /dev/hda7 swap swap defaults 0 0
    /dev/fd0 /mnt/floppy auto noauto,owner,kudzu 0 0
    /dev/cdrom1 /mnt/cdrom1 udf,iso9660 noauto,owner,kudzu,ro 0 0
    /dev/cdrom /mnt/cdrom udf,iso9660 noauto,owner,kudzu,ro 0 0



    让我们来看一下,当像清单 6 所示的那样使用 mount 和 ls 命令来挂载光盘时,所有这些是如何结合起来的。

    清单 6. 挂载 DVD 或 CD 光盘


    [root@lyrebird root]# ls /mnt/cdrom
    [root@lyrebird root]# mount /mnt/cdrom
    [root@lyrebird root]# ls /mnt/cdrom
    autopp.ini autorun.inf install product.list rr_moved
    autorun html installinfo.sh products SK3T-9867-00.001
    autorun.exe index.html patch readme



    本例使用 ls 来显示 /mnt/cdrom 的内容,而没有获得任何输出。对文件系统中尚未挂载的挂载点来说这是正常的。这相当于在 Windows 系统中没有软盘的情况下对驱动器执行 dir a: 命令。然后我们使用 mount 命令来挂载光盘。注意,我们只给出了挂载点。对于在 .etc.fstab 中定义的挂载点来说,在这种情况下给出挂载点或者设备名称(/dev/cdrom 或者 .dev.cdrom1)就都已经足够了。当挂载其他文件系统时,可能需要使用某些在 /etc/fstab 的列表中看到的参数。注意光盘被挂载后 ls 命令发生了变化的输出。取决于您的系统,可能会遇到关于是否运行光盘根目录下的自动运行文件的提示。

    在这里,我们使用 root 用户来挂载光盘。非 root 用户可能也能够挂载光盘(取决于 /etc/fstab 中的值)。在某些系统上光盘也可以自动挂载。挂载后,您应该会在桌面上看到那张光盘的图标。

    Linux 也有指向目录和文件的快捷方式的概念,这些称为 符号链接(symbolic links)。在本文中我们将不对其进行讨论,不过它们非常方便。例如,您可以使用下面的命令在根目录下创建一个指向 CD 驱动器的符号链接,这样您就可以去访问 /cdrom 而不是 /mnt/cdrom。

    ln -s /mnt/cdrom /cdrom
    如果这样做了,然后再次运行 ls 命令(不过这次给出 -l(用于长格式输出)标记和名称 /cdrom)来显示关于 /cdrom 条目的更多信息,您应该会看到附加的信息表明它是一个链接,指向 /mnt/cdrom。这就意味着在原来使用 /mnt/cdrom 的任何地方现在都可以使用 /cdrom。

    要除去这个链接,输入 rm 命令:

    rm /cdrom
    通常,您应该将设备挂载到某个空目录,比如 /media/cdrom 或者 /mnt/cdrom。如果碰巧将设备挂载到了某个包含有文件的目录,那样您将不能看到那些文件,直到您卸载那个已经挂载的文件系统。数据仍然在那里,只是不能访问它。

    DVD 或者 CD 被挂载后,您就可以将磁盘上的文件作为文件系统的一部分来使用。如前面我们所做的,使用 ls 命令,可以显示出 Software Evaluation Kit 第一张磁盘的内容。

    卸载并弹出 CD-ROM
    在挂载了 CD-ROM 之后,Linux 会锁定 CD,因此无法用 Eject 按钮弹出它。但是,当您不再需要该光盘时,如果您有 /cdrom 符号链接的话,可以使用 umount /cdrom 卸装它。(请注意 umount 的拼写,在 u 后面没有 n!)仅当没有用户使用该光盘 而且 您有足够的权限来卸载那个卷时,该命令才会成功,使用光盘的情形包括某个终端窗口以光盘上的目录作为其当前工作目录。

    您也可以使用 eject /cdrom 命令来同时卸载文件系统并弹出光盘。

    如果您没有创建符号链接 /cdrom,那么可以改为使用 umount /media/cdrom(SuSE)或 umount /mnt/cdrom(Red Hat)。

    最后,如果您正在使用 KDE 或者 Gnome 桌面,而且您是挂载光盘的用户,那么就可以在桌面的光盘图标上单击右键,使用上下文菜单来弹出或者卸载光盘。光盘被卸载后,图标将从桌面上消失。

  6. yy123 于 2005-10-21 11:13:54发表:

    您总是可以通过注销当前用户标识,然后以新的用户标识登录来切换到另一个用户标识。但是如果您只需要以另一个用户身份运行几个快捷的命令,那要怎么办呢? Linux 以 su(替代用户,substitute user)命令的形式向您提供了解决方案,该命令允许您暂时以另一个用户身份运行命令。这经常用于需要 root 访问权的任务。实际上,如果您使用终端程序(如 telnet)远程连接一个系统,那么许多 Linux 发行版本会阻止您以 root 用户身份登录。这是良好的安全性做法,我们建议您不要尝试绕开这种限制。相反,您应该以非特权用户身份登录,然后使用 su 命令成为 root。

    那么,让我们假定您已经登录并正在使用终端窗口,而且您不是 root 用户,但需要以 root 用户身份运行一条命令。用于这种情形的两种最常见的 su 形式是:

    su
    su -
    第一种形式(不带 - 符号)只是将您切换成 root,但没有更改包括路径在内的环境变量。第二种形式使用了 - 符号,如果您确实喜欢输入额外的字母,也可以输入为 -l 或者 -login。这允许读取替代用户的登录启动文件,从而设置诸如路径、环境和提示符之类的东西。清单 4 显示了这两种形式在 SuSE Linux 系统上的示例。在两个示例中,我们都使用了 pwd(打印工作目录,print working directory)命令来显示当前工作目录。请注意提示符是如何变化的。如果您希望理解关于如何定制您自己的提示符,或想了解是什么使提示符以现在的形式显示的更多信息,请查阅 developerWorks 上的“技巧:提示行魔术” 技巧文章。

    清单 3. 切换到 root 用户


    ian3@echidna:~> su
    Password:
    echidna:/home/ian3 #pwd
    /home/ian3

    ian3@echidna:~> su -
    Password:
    echidna:~ # pwd
    /root



    您会注意到必须提供口令以切换到 root 用户,这一点都不足为奇。您还可以使用 su 命令切换到其他非 root 用户。例如:

    su - db2inst1
    如果您已经是 root 用户,则无需提供口令,但如果您不是 root 用户,那么必须提供正确的口令。

    如果您正在使用 bash shell(它是大多数 Linux 系统上的默认 shell),要返回前一个标识,只要按 Ctrl-d 或输入 exit 并按 Enter。

    以另一个用户身份使用 GUI 应用程序
    您可能注意到了,我们在 前一节 中讨论 su 命令时,只运行了在终端窗口中显示输出的命令。要能够运行 GUI 应用程序,您可能必须采取一些额外的步骤,具体步骤因 Linux 发行版本而异。 Linux 上的 GUI 应用程序使用 X Window 系统(X Window System),它旨在允许多个用户使用窗口化的应用程序通过网络访问计算机。

    X 显示器是通过 hostname:displaynumber.screennumber 这种形式的名称知晓的。运行在工作站(如 PC)上的 Linux 通常只有一个带有单个屏幕的显示器。在这种情况下,displayname 可以(并且通常会)被省略,所以显示器称为 :0.0。我们假设您在阅读本文时是使用图形方式登录的,因此您的启动已经为您设置了 DISPLAY 环境变量。但是,当您使用 su 切换到不同用户时,不会设置这个变量。清单 4 展示了如何使用 echo 命令来显示 DISPLAY 环境变量,然后切换到另一个用户并尝试启动 xclock 应用程序,最初 DISPLAY 环境变量是空的,然后将其值设置为 :0.0。这是 SUSE SLES9 系统中的示例。在 Red Hat 系统上有所不同,后面我们将会提到。

    清单 4. 尝试启动 xclock


    ian@lyrebird:~> whoami
    ian
    ian@lyrebird:~> echo $DISPLAY
    :0.0
    ian@lyrebird:~> su -
    Password:
    lyrebird:~ # echo $DISPLAY

    lyrebird:~ # xclock
    Error: Can't open display:
    lyrebird:~ # export DISPLAY=:0.0
    lyrebird:~ # echo $DISPLAY
    :0.0
    lyrebird:~ # xclock
    Xlib: connection to ":0.0" refused by server
    Xlib: No protocol specified

    Error: Can't open display: :0.0
    lyrebird:~ # export XAUTHORITY=~ian/.Xauthority
    lyrebird:~ # xclock
    lyrebird:~ # ls -l ~ian/.Xauthority
    -rw------- 1 ian users 206 Feb 18 16:20 /home/ian/.Xauthority



    让我们研究一下这里发生的情况。在本例中,用户 ian 登录到系统,并且正如我们所期望的那样,其 DISPLAY 环境变量被设置为 :0.0。当 ian 切换成用户 root 时,不会去设置 DISPLAY 环境变量,并且因为 xclock 应用程序不能打开显示器,所以启动 xclock 的尝试失败了。

    因此,替代用户 root 设置了 DISPLAY 环境变量,并将它导出,以便它可用于可能从该终端窗口启动的其他 shell。请注意,设置和导出环境变量时不使用 $ 前缀符号,但显示和用其他方法使用该值时则使用 $ 作为前缀。也要注意,如果 su 命令省略了 -(减号)符号,那么 DISPLAY 环境就已经如用户 ian 那样被设置。可是,即使设置了环境变量,但 xclock 启动还是失败了。

    第二次失败的原因在于 X 的客户机/服务器本质。尽管 root 运行在该系统惟一一个显示器上的窗口中,但该显示器实际上由最初登录的用户(在本例中是 ian)所拥有。对于 Linux 系统中的本地显示器,认证通常是依赖于所谓的 MIT-MAGIC-COOKIE-1,每次 X 服务器重新启动时它都会重新生成。用户可以从他的(或她的)目录中的 .Xauthority 将 magic cookie 导出 (使用 xauth extract 命令),并把它提供给另一个用户,那个用户可以使用 xauth merge 将其 融合 到自己的 .Xauthority 文件。作为另一种选择,用户可以通过 xhost +local: 命令来授权其他用户对本地系统的访问。

    有另一个可选方法,即将 XAUTHORITY 环境变量设置为包含正确 MIT-MAGIC-COOKIE-1 的文件的位置。当切换到 root 时,这样做很容易,因为 root 可以读取其他用户所拥有的文件。实际上,在清单 4 中我们就是这样做的,所以,在设置并将 XAUTHORITY 导出到 ~ian/.Xauthority 文件后,root 现在就可以在桌面上打开图形窗口。我们说过将会提及 Red Hat 系统的不同之处,那就是在 Red Hat 系统上使用 su 切换到 root 与 SUSE 系统稍有不同,它会为您自动完成显示器的设置。

    那么,如果是切换到另一个非 root 用户时会怎样呢?在清单 4 中,您会注意到,用户 ian 的 .Xauthority 文件只允许所有者进行读写访问。甚至是同组的成员也不能读取它,这正是您所希望的,除非您乐意让某人打开一个接管您的屏幕并禁止您做任务事情的应用程序! 所以,如果您从 .Xauthority 文件中导出了一个 MIT-MAGIC-COOKIE-1,那么必须要找到某个安全的方式来将它交给您信任的非 root 用户。由于这方面的困难,您可能会发现,对单用户的 Linux 系统来说,xhost 更好用,尽管 xauth 方法通常比 xhost 命令用得更多。不过,要谨记 X Windows 系统的网络传统,以便您不会偶然地授予他人不在计划之内的权限,从而开放您的系统,让任意网络用户都可以在您的桌面上打开窗口。

    用户 ian 可以使用 xhost 来赋与所有本地用户在显示器(:0.0)上打开应用程序的权限。在您的桌面上打开另一个终端窗口并输入这条命令:

    xhost +local:
    请注意末尾的冒号(:)。这样将允许同一系统上的其他用户连接到 X 服务器并打开窗口。由于您使用的是一个单用户系统,这就意味着您可以 su 到一个任意的非 root 用户,而且现在可以启动 xclock 或其他 X 应用程序了。

    有关使用 xauth 和 xhost 命令的更多详细信息,可以根据需要使用命令 info xauth、man xauth、 info xhost 或者 man xhost 来查看联机手册页。如果您对 X 连接的安全性感兴趣,可以从 Xsecure 的手册页入手。

  7. yy123 于 2005-10-21 11:13:30发表:

    在 GNOME 桌面上,您可以在桌面的空白区域使用鼠标右键来激活一个类似于图 9 所示的上下文菜单,在这里选择新的终端。也可以通过 Start > System tools > Terminal 来打开一个新的终端窗口。

    图 9. 通过 Gnome 桌面弹出菜单打开终端窗口

    shell 窗口的外观将取决于您的发行版本和选择的桌面。要调整其大小,可以使用鼠标左键拖动窗口的角或边。要滚动回最近的历史纪录,可以使用滚动条。以 # 符号结尾的命令提示符,表明该 shell 的用户是 root 用户。对于 root 以外的用户,命令提示符将以 $ 符号结尾。可以使用向上箭头重新调用前面的命令,如有必要可以对其进行修改。图10 显示了典型的 KDE Konsole shell 窗口。您可以使用 Settings 菜单来更改诸如窗口颜色和字体之类的设置。

    图 10. KDE 控制台 shell 窗口

    图 10 展示了一些命令及其输出:

    whoami
    显示了谁正在使用这个终端窗口,在本例中是 iant。
    pwd
    打印当前工作目录的全名,在本例中是 /home/ian。注:命令提示符中 # 前面的代字号(~)表明该用户目前在他(或她)的主目录中。
    cd
    更改当前目录或工作目录。在示例中,我们先切换到 /(也称为根)目录,然后切换到 /tmp 目录,/tmp 目录通常用来存储临时文件。请注意,/ 是整个文件系统的根,而 /root 是 root 用户的主目录。在不带任何目录名的情况下使用 cd,会使用户返回到主目录,使用 cd - 返回到您进入当前目录之前所在的最后那个目录。 root 用户以外的用户的主目录通常位于 /home 之下。例如,我在某系统上的标识是 ian,那么 /home/ian 就是我的主目录。还记得代字号(~)么?用户 ian 的主目录也可表示为 ~ian。
    uname
    不带参数时,将显示操作系统的名称:Linux。带 -a 参数时,则显示关于您系统的其他信息。
    which
    扫描您的 PATH 环境变量中的目录,如果您在 shell 提示符下输入命令,则显示要执行的可执行程序的完整路径。在本例中,我们看到将从 /usr/X11R6/bin/xclock 运行 xclock 程序。
    xclock
    在您的桌面上启动一个带有时钟的新窗口。请注意该命令末尾的 &,它意味着命令处理器不等命令执行完就会将控制权交还给终端窗口。还请注意这是该终端窗口所唤醒的第一个此类进程,其进程标识(PID)为 4900。
    ps
    使用 -T 选项时,则显示该终端启动的所有进程。在某些系统中,ps 命令的默认显示中包括进程的状态。如果本示例中显示了状态,则您将看到 bash shell 程序正在等待输入(状态 S 表示睡眠),xclock 进程也是如此。ps 命令正在运行(状态 R 表示可运行)。

    您可能会觉得有用的其他一些命令包括:

    info cmd_name
    显示关于名为 cmd_name 的命令的信息。输入 info info 以了解关于 info 文档系统的信息。
    man cmd_name
    是到关于名为 cmd_name 的命令的联机手册页的接口。 Linux 中的一些信息是用 info 格式表示的,而一些信息只能以联机手册页的格式获得。输入 man man 以了解关于联机手册页的更多信息。
    成为超级用户(或者 root)
    为了完成本文中的很多任务,都需要使用特殊登录名 root。 root 用户有时也称为 超级用户(superuser),是通常用来管理系统配置或者软件安装的用户。 只有在进行管理工作时才使用 root;避免使用 root 进行日常的工作。 root 用户可以做任何事情,包括不经意地破坏您的系统,这通常不是好事。普通用户有更少的特权,系统得到了保护,不会受到普通用户的无心破坏。

  8. yy123 于 2005-10-21 11:12:24发表:

    图 4 展示了您在 SLES9 的 KDE 桌面上能够看到哪些内容。

    图 4. SUSE Enterprise Server 9 的 KDE 桌面的示例初始窗口

    在前面的 GNOME 桌面中,您可以将鼠标移动到图标上来查看它们能做什么。在图 4 中,我们已经将面板拖曳到屏幕的右侧(点击面板的一个空白区域并将其拖曳到屏幕任何一侧都可以)。我们还将鼠标悬浮到 Start 按钮上。如您所见,每次登录时 SUSE Linux 都会为您给出一个提示。当打开终端窗口时也将看到这样的提示。

    切换到惯用左手的鼠标用法
    我们通常假定用户是一位惯用右手的用户,但您可以更改鼠标配置以便于左手使用。如果您正在使用 GNOME 桌面,那么通过桌面上的 start here 就可以访问鼠标属性,如图 5 所示。点击 start here 图标,可以看到一些能够定制的其他设置的图标。为了对照,我们也向您展示了如何从主菜单访问相同的鼠标属性,即先选择 preferences,然后选择 mouse。

    图 5. 通过 GNOME Start here 窗口访问鼠标设置
    您应该会看到类似于图 6 所示的窗口,在这里您可以改变鼠标的设置。注意,当您选中或者不选中 Left-handed mouse 选择框时,图像中的鼠标会切换其所在方位。

    图 6. 改变鼠标设置的 GNOME 窗口

    如果您正在使用 SUSE SLES9 系统中的 KDE 桌面,那么您可以通过控制面板(可以通过 start 菜单访问到)来改变鼠标设置。不过,在撰写本文时,改变为左手习惯用法的选项是灰色的,所以不可以使用(见图 7)。

    图 7. KDE 鼠标设置窗口

    不过,这没有任何关系。您可以在终端窗口(见 打开终端或 shell 窗口)中运行一些命令来改变鼠标的行为。运行 xmodmap -pp 命令,您将看到类似于清单 1 的输出。

    清单 1. xmodmap -pp 的输出


    There are 7 pointer buttons defined.

    Physical Button
    Button Code
    1 1
    2 2
    3 3
    4 6
    5 7
    6 4
    7 5



    要交换第一鼠标键和第三鼠标键的功能,需要使用 xmodmap -e 和您所想得到的映射来指定一个新的映射。要保存这个新映射以使得每次用户登录时它都可以生效,需要将指示信息详述保存到用户主目录的 .Xmodmap 文件中。在清单 2 中给出了这两个命令。

    清单 2. 使用 xmodmap 改变鼠标设置


    xmodmap -e "pointer = 3 2 1 6 7 4 5"
    echo "pointer = 3 2 1 6 7 4 5">~/.Xmodmap



    注意,使用 ~ 来表示对当前用户主目录的引用。

    打开终端或 shell 窗口
    您经常会需要打开终端或 shell 窗口。这个窗口类似于 Windows? 下的 DOS 命令提示符。在 KDE 桌面上,有一个位于屏幕底部的 KDE 面板,类似于图 8。单击如图所示的 shell 图标。

    图 8. KDE shell 图标

  9. yy123 于 2005-10-21 11:10:00发表:

    如您所见,屏幕的外观因 Linux 发行版本的不同而不同,您可能一定会进行进一步的定制,但我们不在此短文中讨论这个话题。THEL3 屏幕有一个用来输入登录名的字段,并且在底部有一些热点(hot spot),让您可以修改语言和会话的默认类型(比如 Gnome 或 KDE),也可以关闭或者重新启动系统。当输入一个 id 并按下 Enter 后,将提示您输入密码。SLES9 的屏幕同时有 id 和密码字段,以及用于选择 id 的选择框。点击 Menu 下拉菜单,您可以访问类似于 RHEL3 屏幕底部的功能。

    该屏幕及其特性都可以定制。默认情况下,RHEL3 以数字格式显示日期和时间,而 SLES9 使用模拟格式显示。另一个不同之处是,在 RHEL3 系统中,登录屏幕上的任何人都可以重新引导或者关闭系统,而在 SLES9 中执行这些功能要求输入 root 密码。

    应该在登录字段输入您的登录名(如果指示您输入 root,那么就输入 root),然后按回车键。您会看到一条口令提示,或许您还需要将光标移动到口令输入字段,这取决于您所拥有的登录提示类型。输入您的口令并再次按回车键,这样应该完成了登录并看到您的桌面。图 3 展示了以用户 ian 的身份登录到 RHEL3 系统上时可能会看到的内容。

    图 3. Red Hat Enterprise Linux 3 的 GNOME 桌面的示例初始窗口

    请在图标上移动您的鼠标来浏览桌面。在图 3 中,鼠标位于左下角的红帽图标上,悬浮帮助显示出 main menu。注意那一行应用程序按钮的右侧的小图标,在其中有四个更小的矩形。您拥有四个独立的桌面,要在它们之间进行切换,可以点击相应的小方块,或者使用组合键 Ctrl-Alt-left arrow 或 Ctrl-Alt-right arrow 来对它们进行循环遍历,这与在某个桌面上使用 Alt-tab 在应用程序窗口之间进行循环遍历的方式相同。在浏览时,记住要避免启动应用程序,除非您是以非 root 用户的身份登录的。