免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 8234 | 回复: 9
打印 上一主题 下一主题

[FreeBSD] FreeBSD7.0启动gnome问题,请帮帮我!(已解决) [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-06-05 07:47 |只看该作者 |倒序浏览
FreeBSD7.0启动gnome问题,请帮帮我!


各位,我很少用FreeBSD,更很少用X,我不懂FreeBSD是如何加载X Window和gnome桌面的相关配置。我是在从本论坛lsstarboy提供的DVD的ISO(http://bbs.chinaunix.net/viewthread.php?tid=1060793)下载安装的7.0,现在有一很菜的加载gnome问题请教各位FreeBSD高手。

我安装FreeBSD7.0一切正常,但默认启动的是命令终端,我以root用户登入。

然后用vi编辑rc.conf文件使得它开机时能启动gdm:

# vi /etc/rc.conf

我在rc.conf配置文件里新加了一行:
gdm_enable="YES"

然后存盘退出,重启FreeBSD,但接下来出现了错误提示,好象意思是“找不到gdm用户”,如下图:

Starting gdm.
gdm-binary[599]: WARNING: gdm_config_parse: Can't find the GDM user 'gdm'. Aborting!
gdm_config_parse: Can't find the GDM user 'gdm'. Aborting!

我要怎样做,才能使得开机时就正常启动gnome呢?


接下来我又运行如下命令进行设置:

# echo "/usr/local/bin/gnome-session" > ~/.xinitrc

然后我又启动X:

# startx

这时又弹出一个对话框,说“此会话运行于特权用户”,见下图所示:

This session is running as a privileged user

Running a session as a privileged user should be avoided for security reasons. If possible, you

should log in as a normal user.

[Continue] [Quit]


然后我点击[Continue]按钮继续,但当出现桌面后,我去点击gnome的任何菜单都无反应,如下图:


请问我怎么设置才能正常启用gnome呢?

不好意思,我不太会用,才问了这么菜的问题。还请老手们多悉心指点一下,谢谢啦!

[ 本帖最后由 shengdouxiaomin 于 2008-6-5 17:22 编辑 ]

论坛徽章:
0
2 [报告]
发表于 2008-06-05 08:30 |只看该作者
不建议在rc.conf中配置gdm启动

按照手册的说法,可以修改 .xinitrc文件,也可以在/etc/ttys 这个文件里面修改tty9的命令行,用gdm替换xdm

建议检查gnome的安装,并且新建一个普通用户,看看是否能够正常登陆。

论坛徽章:
0
3 [报告]
发表于 2008-06-05 09:40 |只看该作者
原帖由 杜比环绕声 于 2008-6-5 08:30 发表
不建议在rc.conf中配置gdm启动

按照手册的说法,可以修改 .xinitrc文件,也可以在/etc/ttys 这个文件里面修改tty9的命令行,用gdm替换xdm

建议检查gnome的安装,并且新建一个普通用户,看看是否能够正常登陆。


版主谢谢您!不过您的这个回答对我帮助不大啊。

我的意思是两个:

一个是必须开机就跳到gnome的登录界面。
而不是啰哩吧嗦地先显现出命令行终端,就是说先要从命令行登录,然后再键入startx去启动gnome桌面。我不想要这样,我要的是以开机就显现出X的gnome桌面,就连登录界面都是图形界面而不是命令行界面。这是第一个意思。

另一个我想要的效果是,当我在命令行以root超级用户键入startx去启动gnome时,它应该也能象普通用户一样正常,而不是啰嗦地告诉我什么“特权用户运行这个有问题”,让我把必须以其他普通用户去使用gnome才行。这是第二个意思。

我的要求就是这两个。现在却都不行。

想开机就现gnome,结果却提示我“Can't find the GDM user 'gdm'. Aborting!”莫非我还必须建立一个名为“gdm”的用户才能行?真搞不明白!

想root登录后,于命令行启动X后,期望能正常,结果却提示我“Running a session as a privileged user should be avoided for security reasons. ”我真搞不明白,究竟要怎样设置才能以root来正常使用gnome!



版主你说“新建一个普通用户,看看是否能够正常登陆。”——这个我都试过了,普通用户而非root用户,那么没问题的,但问题是我就想要root也能正常用到gnome,而不出现那个讨厌的提示,并且当我点击它菜单项时都能正常地启用相关功能,而不是没有任何反应。

我如果以普通用户去startx

就是

$ echo "/usr/local/bin/gnome-session" > ~/.xinitrc

$ startx

那么一切将正常,没有任何问题。但root就不行。

你说“不建议在rc.conf中配置gdm启动”——然而这个正是FreeBSD官方手册所强烈建议的。我是详细读过后,才看到它强烈建议想要开机就启动gnome的用户必须在rc.conf里加上gdm_enable="YES"这一句。官方最新手册里强烈建议我在rc.conf中配置gdm启动,版主又不建议在rc.conf中配置gdm启动,那我到底该听从谁的建议呢?


你说“按照手册的说法,可以修改 .xinitrc文件”——你说的这个其实就是我所执行的命令:
echo "/usr/local/bin/gnome-session" > ~/.xinitrc
它就是在修改.xinitrc文件,这个也正是手册上说的。问题是这个方法是从命令行以startx启动有效,并不涉及到能开机就启动gnome。就是说我前面不是说了有两个意思么,它仅对我的第二个意思有效,而对我的第一个意思没任何作用。同样,你说的“也可以在/etc/ttys 这个文件里面修改tty9的命令行,用gdm替换xdm”,也是仅对我的第二个意思有效,而对我的第一个意思没任何作用。

望版主和其他网友能继续指点我的迷津,给予我实质性的帮助,再谢谢啦!

[ 本帖最后由 shengdouxiaomin 于 2008-6-5 09:52 编辑 ]

论坛徽章:
0
4 [报告]
发表于 2008-06-05 11:00 |只看该作者
"不建议在rc.conf中配置gdm启动"是我个人看法,rc.conf里面的设置一般都是和系统相关,这样区分的明显些。

还是不建议使用root身份登陆桌面环境,这是出于安全考虑,需要root权限操作的时候,可以在虚拟终端里面su到root用户。

至于rc.conf中,gdm_enable为什么没有成功,可以找下 /usr/local/etc/rc.d里面的脚本,看看是否满足条件。

ttys中修改tty9的这种方法,留意一下后面,这个是否设置为on,按照kdm的使用方法,经过这样的设置之后,是可以在系统启动完成后直接进入gdm的,也就是满足你的第一个要求。

论坛徽章:
0
5 [报告]
发表于 2008-06-05 11:06 |只看该作者
参考下这个,检查gdm用户是否存在

http://www.chinaunix.net/jh/5/651178.html

论坛徽章:
0
6 [报告]
发表于 2008-06-05 15:39 |只看该作者
原帖由 杜比环绕声 于 2008-6-5 11:00 发表
"不建议在rc.conf中配置gdm启动"是我个人看法,rc.conf里面的设置一般都是和系统相关,这样区分的明显些。

还是不建议使用root身份登陆桌面环境,这是出于安全考虑,需要root权限操作的时候,可以在虚拟终端里面su到root用户。

至于rc.conf中,gdm_enable为什么没有成功,可以找下 /usr/local/etc/rc.d里面的脚本,看看是否满足条件。

ttys中修改tty9的这种方法,留意一下后面,这个是否设置为on,按照kdm的使用方法,经过这样的设置之后,是可以在系统启动完成后直接进入gdm的,也就是满足你的第一个要求。



"不建议在rc.conf中配置gdm启动"是我个人看法,rc.conf里面的设置一般都是和系统相关,这样区分的明显些。
---------------
明白和理解这个精致想法背后的苦心用意。但我也认为gnome也可认为属于与系统很密切的,而且我去改rc.conf时特意看了下,默认安装完后,这个文件里除了几行用#开头的注释行外,是空的。就是说我写进的gdm_enable="YES"是这个文件目前为止唯一的一行内容。

还是不建议使用root身份登陆桌面环境,这是出于安全考虑,需要root权限操作的时候,可以在虚拟终端里面su到root用户。
---------------
我也知道,连FreeBSD系统都提示不建议用root登进桌面,但是你看有很多其他UNIX/Linux却允许以root登进X桌面啊。系统设置时su到root,每次都这样太麻烦。我估计还有有办法可以去掉那个警示信息,并使得root也能象普通用户一样正常使用桌面环境的,只不过还不知道在哪里设置。手册也很难看啊,翻了遍也找不到“门把手”,真是没门啊。

至于rc.conf中,gdm_enable为什么没有成功,可以找下 /usr/local/etc/rc.d里面的脚本,看看是否满足条件。
--------------
/usr/local/etc/rc.d目录里的dbus、avahi-daemon.sh、avahi-dnsconfd.sh、hald、gdm等文件里面的脚本我都看过了,应该没问题。(当然也可能我水平不够,有问题也还没能看出来。)

ttys中修改tty9的这种方法,留意一下后面,这个是否设置为on,按照kdm的使用方法,经过这样的设置之后,是可以在系统启动完成后直接进入gdm的,也就是满足你的第一个要求。
--------------
那个上次您回复我提到时,我也去试过了,不行。
就是说/etc/ttys里原来那一行内容是:
ttyv8   "/usr/local/bin/xdm -nodaemon"   xterm   off secure
我把它改成了:
ttyv8 "/usr/local/etc/rc.d/gdm -nodaemon" xterm on secure
然后重新启动,结果依然是提示“Can't find the GDM user 'gdm'. Aborting!”(找不到gdm用户)

后来我发现您是按照配置K桌面的方法类推的,然而GNOME与KDE的截然不同。这个不是我自己乱说的,是本论坛另一位网友在他Blog里转了别的大侠的贴,贴里面说的,详见:http://blog.chinaunix.net/u/6088/showart_191828.html


我引用里面两段关键处明示了Gnome不能照搬KDE做法:

1.2 激活GDM
在/usr/X11R6/etc/rc.d目录下,我们会发现一个文件,gdm.sh.sample。将此文件复制成gdm.sh。

代码:
cp /usr/X11R6/etc/rc.d/gdm.sh.sample /usr/X11R6/etc/rc.d/gdm.sh

如果你在此前使用XDM或KDM作为Display Manager,必须先将它们关闭,即恢复/etc/ttys的设置如下:

代码:
ttyv8   "/usr/X11R6/bin/xdm -nodaemon"   xterm   off secure




2.4 GDM的使用
修改了GDM配置,想检查效果,如果总是重启,那就太麻烦了。可以用下面的命令,停止GDM的运行:

代码:
/usr/X11R6/etc/rc.d/gdm.sh stop

重新启动GDM,则如下:

代码:
/usr/X11R6/etc/rc.d/gdm.sh start

GDM与XDM、KDM不同之处是,不能在/etc/ttys中直接启动,而是通过/usr/X11R6/etc/rc.d/gdm.sh,在系统启动时调用,也可以直接调用脚本停止或启动。

论坛徽章:
0
7 [报告]
发表于 2008-06-05 15:55 |只看该作者
原帖由 杜比环绕声 于 2008-6-5 11:06 发表
参考下这个,检查gdm用户是否存在

http://www.chinaunix.net/jh/5/651178.html


这个确实是很好的参考,可惜它也不是最新的了,是两年前的配置FreeBSD5.1时的,现在7.0又有了很大变化,比如他文中提到的gdm.sh这个文件,以及 http://blog.chinaunix.net/u/6088/showart_191828.html 文中提到的gdm.sh.sample文件,我都用find命令进行了整盘搜索,都没有找到,而我是完全安装的,可见随版本进化而发生的变化很大,那个又成老皇历了。而对FreeBSD而言,配置成KDE相对比较简单,而GNOME没想到这么麻烦。

我按你给的这个链接的贴文查看了一下passwd文件:
vi /etc/passwd

果然里面没有gdm这个用户。说明安装后默认是没有自动添加它的,必须手动予以添加。

我也按照它所说的添加了用户组和用户:

pw groupadd gdm -g 92

pw useradd gdm -u 92 -g gdm -h - -d "/nonexistent" -s /sbin/nologin -c "GNOME Display Manager"

其他的它所提到的命令,我也都一一执行了。除了那个拷贝gdm.sh文件的命令外,因为我已经提过了:我找不到这个文件,整个盘都找不到。然后我重启,依然是提示gmd启动时找不到gmd用户。

唉,算了,不搞了。可惜,GNOME太难搞了,我还去查了它英文的FAQ:http://www.freebsd.org/gnome/docs/faq2.html 也还不得要领,GNOME这么难搞。我也改KDE吧。这个问题到目前为止只能改用KDE来解决了。

谢谢版主细心周到地帮我,您的帮助是很专业很细致的,对我这个菜鸟启发很大,非常非常感谢!

[ 本帖最后由 shengdouxiaomin 于 2008-6-5 15:57 编辑 ]

论坛徽章:
0
8 [报告]
发表于 2008-06-05 16:12 |只看该作者
对了,版主及各位高人,俺这里顺便再问一个菜问题吧

就是FreeBSD刚刚启动时在选项菜单处读秒,默认是10秒钟停留。我想要改变默认的秒数,因为10秒钟太长了点。如果将它设置为0,又会一下子掠过,也不好。我想把它设置为1秒或2秒,万一我需要“安全模式”启动呢。想知道这个设置(也许手册里有,但手册太难翻了,高手告诉我吧)


请教一下在哪个配置文件里能修改这个秒数?

谢谢!

[ 本帖最后由 shengdouxiaomin 于 2008-6-5 16:24 编辑 ]

论坛徽章:
0
9 [报告]
发表于 2008-06-05 16:31 |只看该作者
原帖由 shengdouxiaomin 于 2008-6-5 16:12 发表
对了,版主及各位高人,俺这里顺便再问一个菜问题吧

就是FreeBSD刚刚启动时在选项菜单处读秒,默认是10秒钟停留。我想要改变默认的秒数,因为10秒钟太长了点。如果将它设置为0,又会一下子掠过,也不好。我想 ...


在 /boot/loader.conf 文件中添加下面的语句:

  1. autoboot_delay="3"
复制代码


另:对于gnome,建议重新安装gnome,正常情况下gdm用户应该是安装脚本自动建立的,gdm.sample.sh 这个文件在新的版本里面已经不存在了,新的就是你看到的 /usr/local/etc/rc.d/gdm ,至于ttys里面的修改,你使用的是 /usr/local/etc/rc.d/gdm ,它只是一个脚本,真正的gdm程序应该在 /usr/local/bin 里面。

论坛徽章:
0
10 [报告]
发表于 2008-06-05 16:39 |只看该作者
原帖由 杜比环绕声 于 2008-6-5 16:31 发表


在 /boot/loader.conf 文件中添加下面的语句:

autoboot_delay="3"

另:对于gnome,建议重新安装gnome,正常情况下gdm用户应该是安装脚本自动建立的,gdm.sample.sh 这个文件在新的版本里面已经不存在 ...


多谢版主神速回应!我马上去改停留秒数。

至于重装Gnome,唉,今天搞疲累了,哪天有空一定再重装试试吧,您的指点很好,我现在正用KDE呢。今后多受教于您,和您多交流啦!

再次谢谢您的指点!



D Day 向版主汇报一下、补充一下:

重装Gnome,试了,还是不行。

我先是把它反安装,然后删掉gdm用户组和用户,重装,还是不行,还是总有讨厌的“Can't find the GDM user 'gdm'”错误提示,没辙了,只好作罢。就用KDE了,还是KDE简单、易配置。

也总结一下安装和配置桌面吧,兴许有点用。对自己这个菜鸟是个记忆,对别的菜鸟是个提醒。少走弯路。

FreeBSD安装程序sysinstall的安装菜单是一级连一级的,或者说是树形结构的级联菜单。父菜单下有子菜单,总的有个最初的根菜单,是一个树的结构,就是离散数学里的“树”。更通俗的理解就是跟“目录”或MS Windows的“文件夹”概念相似,目录都是从根目录展开的,每个目录下可以有子目录,sysinstall的菜单也是这样结构。下图就是位于“根”的位置的总菜单:

如果是从这个总菜单退出,也就退出安装而重启系统了。我从这个主菜单选的安装方式是Custom(定制安装),一般菜鸟都选这种安装方式。

可能我们菜鸟比较容易混淆sysinstall里的Partition(分区)与Disk Label(磁盘卷标)的两项设置,而且手册里有关章节可能也是搅在一起的,容易使人搞不清楚。我都是用“傻瓜式”默认安装的,我认为系统给分配的大小还是很合理,菜鸟不必要手动去调整。把过程图示一下,就知道怎样辨清Partition设置与Disk Label设置了。


★设置Partition

下图选项已表明我将要进行Partition设置:


下图表明我那硬盘还是unused(未分配使用),这时我只需按“A”键:

按"A"表示什么呢?下面红框圈起来的说明很清楚:A = Use Entire Disk, 就是使用整个未分配的硬盘作为FreeBSD的分区,接下来会问slice类型,选默认的165(FreeBSD分区类型)即可。

下图是按A选整盘进行分区后的情形:

可以看到已有了ad0s1这个分区,在它上下还有两个unused空间,应该是系统保留的,这两个unused是删不掉的,可以试试将光标移到它再按"D"是删不掉的,既然是系统生成和保留的,不用管它们了。
接下来要使得已搞好的这个ad0s1分区成为可启动的,那就按一下“S”键,如上图所示,红框圈上的部分:S = Set Bootable,就是说将分区设置为可启动的。

下图是按“S”键后情形,可以看到分区的Flags已经被设为A(活动分区)了。

然后按Q完成并退出分区设置,Q = Finish

接下来会问是否装启动器,由于我这台电脑没装多个操作系统,不必要装启动管理器,所以我选MBR:


设置Partition很简单啊,只消选按三个键:A、S、Q,就行了。名副其实傻瓜式的安装。

★设置Disk Label

上面完成了Partition设置,就又回到了sysinstall的Custom安装菜单,这时选Lable设置,如下图所示:


然后在设置界面,按“A”键:A = Auto Defaults,也就是让系统自动帮你分配成默认值。过后我仔细看了,系统给盘标所自动分配的空间真的是很合理啊,所以不必太操心劳神了,就让系统里的程序帮着搞定这项设置吧。如下所示:


下图是按A自动分配Disk Label后的情形:

可以看到ad0s1的a、b、d、e、f分别mount到了“/”、“Swap Space(交换空间)”、“/var”、“/tmp”、“/usr”。
最后还是按Q键:Q = Finish,完成设置并退出。

设置Disk Label也简单吧?只消选按两个键:A、Q,就行了。名副其实傻瓜式的安装。

★设置开机就启动GNOME

# vi /etc/rc.conf
在rc.conf配置文件里新加上一行:
gdm_enable="YES"

注意:GDM与XDM、KDM不同之处是,不能在/etc/ttys中直接启动。所以通过编辑/etc/ttys里的虚拟终端控制台的命令行是无法搞定Gnome的。

上面是手册里给出的方法,我试过设Gnome没成功,只好作罢。但愿别人不会象我这样倒霉。

★从命令行来启动GNOME

开机登录到字符界面终端的命令行。

头一次以这个用户来启动Gnome,需要先运行以下指令:
$ echo "/usr/local/bin/gnome-session" > ~/.xinitrc
注意:这个只消在本用户第一次启用时运行一下即可,以后便不需要每次都运行了。

然后就可以用下面的命令来启用gnome了:
$ startx


★设置开机就启动KDE

# vi /etc/ttys

在文件里找到有关ttyv8终端设置的那一行,其原内容应是:
ttyv8   "/usr/local/bin/xdm -nodaemon"   xterm   off secure
把它改成了:
ttyv8 "/usr/local/bin/kdm -nodaemon" xterm on secure

再重启,就可以看到KDE登录界面了,如下图所示:

注意:这种开机启动KDE是不允许以root来登录的。

强烈建议菜鸟如果想开机就启动到X桌面,那就都启动到KDE吧,因为用Gnome可能会很麻烦,就象我这样搞了半天也没搞定。

★从命令行来启动KDE

开机登录到字符界面终端的命令行。

头一次以这个用户来启动KDE,需要先运行以下指令:
$ echo "exec startkde" > ~/.xinitrc
注意:这个只消在本用户第一次启用时运行一下即可,以后便不需要每次都运行了。

然后就可以用下面的命令来启用KDE了:
$ startx



从命令行来启动KDE,是允许以root用户登录的,并且不会有任何警示框弹出(Gnome以root登入会弹出警示框)。


★虚拟终端控制台切换的快捷键

手册上说FreeBSD默认一共有九个虚拟终端控制台,它们的设备名分别是:ttyv0、ttyv1、ttyv2、ttyv3、ttyv4、ttyv5、ttyv6、ttyv7、ttyv8,其中ttyv8是图形界面X终端,其余ttyv0~ttyv7这八个是字符界面的命令行终端。九个虚拟终端控制台的设置,在 /etc/ttys 这个配置文件里。这些虚拟终端的控制台,彼此切换的按键,按手册说法是——

ttyv0:Alt+F1
ttyv1:Alt+F2
ttyv2:Alt+F3
ttyv3:Alt+F4
ttyv4:Alt+F5
ttyv5:Alt+F6
ttyv6:Alt+F7
ttyv7:Alt+F8
ttyv8:Alt+F9

这些键我试了,在没启用X(也就是ttyv8)时,相互切换都是可以的。

如果启动了X(也就是说启用了ttyv8),那么在ttyv0~ttyv7这八个是字符界面的命令行终端切换没问题,从这八个按Alt+F9切换到ttyv8也没问题,但如果想从ttyv8切换到另八个中任何一个,直接按Alt+Fn一般就会没有响应。就是说你按下了手册上说的切换键,会没有反应、不起作用。这时可以先切换到ttyv7或ttyv6这两个字符终端,先过渡一下,过渡到字符终端,然后Alt+Fn就又都起效了。

从ttyv8切换到ttyv7或ttyv6的按键开关分别是:
ttyv8=>ttyv7:Ctrl+Alt+Shift+F8
ttyv8=>ttyv6:Ctrl+Alt+Shift+F7

“Ctrl+Alt+Shift+F8”和“Ctrl+Alt+Shift+F7”这两个组合键是我自己瞎按出来的。我也不清楚为什么会是这样,总之我试过的情形就是这样:直接从ttyv8按Alt+Fn没任何响应,但按这两个组合键转到ttyv7或ttyv6后,Alt+Fn就又都恢复响应了。


★设置开机选项菜单停留的秒数:

#vi /boot/loader.conf

如果想停留2秒,那就文件中添加下面一行语句:

autoboot_delay="2"

想要停留几秒,就将数字设为几,即可。


☆再次感谢版主
杜比环绕声兄 不吝惠教,
令我受益良多!☆


[ 本帖最后由 shengdouxiaomin 于 2008-6-6 11:19 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP