您尚未登录。

#1 2016-07-10 15:37:06

amonra
会员
注册时间: 2016-02-13
帖子: 8

journalctl -f 在cinnamon和gnome-shell里面的输出不一样

大概情况是这样:
我的host是gnome-shell, 平时用journalctl -f 查看variety和lantern的实时的debug信息,同时可以查看gnome的一些warning或者错误信息,总之就是一直开着.
我的guest是cinnamon, journalctl -f 查看不到vairety和lantern的输出,但是在终端内启动lantern,该终端窗口内可以查看lantern的debug信息.
虚拟机用的是virtualbox 5.0.24-1, journald.conf 都是默认设置.
想知道为什么journalctl -f , 同一个命令在gnome里可以看到lantern的debug,在cinnamon里就无法看到.

最近编辑记录 amonra (2016-07-10 16:02:57)


火出木尽,灰飞烟灭

离线

#2 2016-07-10 19:30:15

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,463
个人网站

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

权限的问题吧。看看 /var/log/journal 的权限,然后看看你自己的组。

PS: 我也一直开着 :-)

离线

#3 2016-07-10 22:26:41

amonra
会员
注册时间: 2016-02-13
帖子: 8

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

依云 说:

权限的问题吧。看看 /var/log/journal 的权限,然后看看你自己的组。

PS: 我也一直开着 :-)

权限目前看起来好像没啥问题, journal的目录都是root:systemd-journal, 当前用户名在host和guest上都是属于wheel组和"用户名"组,唯一的区别是在host上的当前用户还属于vboxuser组(主要是为了解决vbox的USB设备passthourgh的问题自己加的),其他都一样,

如果我鼠标启动lantern, 在host上会在journalctl -f 里面直接蹦出一大堆debug信息,头两行如下:
lantern.desktop[25533]: Running installation script...              #这个好象是lantern.sh里面的一个检查点.
lantern.desktop[25533]: /usr/lib/lantern/lantern-binary: OK     #检查无误,然后下面就是一大堆DEBUG
[.....]
但是在guest里面啥反映都没有, 程序运行都没有问题, 实在搞不懂是哪里的问题, sad
(guest里面journalctl 可以读出系统的log比如dbus, systemd kernel .....)

PS: lol lol lol 除了journal以外,我还7*24开着htop.藏到guake里去.

最近编辑记录 amonra (2016-07-10 22:46:42)


火出木尽,灰飞烟灭

离线

#4 2016-07-10 22:42:04

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,463
个人网站

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

你看看你的 guest 里 wheel 组能访问 /var/log/journal 吗?用 getfacl 命令。

PS: 我也有个一直开着的 htop 呢,在一个单独的 xfce4-terminal 窗口里,需要的时候就用 run_or_raise 函数叫 Awesome 把它叫过来。

离线

#5 2016-07-10 22:52:22

amonra
会员
注册时间: 2016-02-13
帖子: 8

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

依云 说:

你看看你的 guest 里 wheel 组能访问 /var/log/journal 吗?用 getfacl 命令。

PS: 我也有个一直开着的 htop 呢,在一个单独的 xfce4-terminal 窗口里,需要的时候就用 run_or_raise 函数叫 Awesome 把它叫过来。

输出结果如下:
# file: var/log/journal
# owner: root
# group: systemd-journal
# flags: -s-
user::rwx
group::r-x
group:adm:r-x
group:wheel:r-x
mask::r-x
other::r-x
default:user::rwx
default:group::r-x
default:group:adm:r-x
default:group:wheel:r-x
default:mask::r-x
default:other::r-x

PS: big_smile big_smile big_smile


火出木尽,灰飞烟灭

离线

#6 2016-07-11 09:50:47

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,463
个人网站

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

这有读权限啊。难道是对日志文件没权限?

离线

#7 2016-07-11 13:52:06

amonra
会员
注册时间: 2016-02-13
帖子: 8

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

我又下载了一个mint放到vbox里面试了一下, 发现是同样的情况, 在host里面,我启动variety,每当这软件从wallpaper.cc上下来了某个图片,或者每次这软件自动设置我的桌面图片的时候, journal里面都有记录, 但是切换到cinnamon里面不管是arch还是mint,都读不到,似乎cinnamon环境影响了journal的某些设置,但是我查了一下,设置都是一样一样的,另外,我也查看了journal目录里面的文件权限,wheel都是可以读到的. ........ still confusing

话说,我刚刚在vbox里的arch上面干脆装了xfce4,cinnamon,mate和gnome, 只有gnome可以在journal里面读到那些variety和lantern的log (费解啊), 我登出,然后再登录到xfce4, mate 或者 cinnamon 都不行, 这是啥情况??

最近编辑记录 amonra (2016-07-11 14:11:45)


火出木尽,灰飞烟灭

离线

#8 2016-07-11 15:55:08

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,463
个人网站

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

你直接指定读那些文件呢? journalctl --files=....

离线

#9 2016-07-11 16:43:25

amonra
会员
注册时间: 2016-02-13
帖子: 8

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

我是这样做的
先进入到/var/log/journal/xxxxxxxxxxx/下面(除了remote的另外一个文件夹)

sudo journalctl --file=user-1000.journal -ef

结果如下:
在非gnome桌面环境下:user-1000.journal 没有lantern或者variety的log信息,这个文件里面压根就没这信息, 操作方法是鼠标启动lantern, 右键退出,然后再鼠标启动,重复操作几遍. journal里面录不到lantern的debug.
在gnome桌面环境下:user-1000.journal会显示出lantern或者variety的log信息.可以实时蹦出来,操作方法同上.

最近编辑记录 amonra (2016-07-11 16:46:01)


火出木尽,灰飞烟灭

离线

#10 2016-07-11 18:30:39

依云
会员
所在地: a.k.a. 百合仙子
注册时间: 2011-08-21
帖子: 8,463
个人网站

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

哦我想到了。你的不同桌面环境把程序的日志写到了不同的地方……之前我一直以为你的 lantern 是作为系统服务运行的……

你可以看看有没有 ~/.xsession-errors 文件。

另外建议使用 lantern.service 服务。

离线

#11 2016-07-11 20:41:08

amonra
会员
注册时间: 2016-02-13
帖子: 8

Re: journalctl -f 在cinnamon和gnome-shell里面的输出不一样

依云 说:

哦我想到了。你的不同桌面环境把程序的日志写到了不同的地方……之前我一直以为你的 lantern 是作为系统服务运行的……

你可以看看有没有 ~/.xsession-errors 文件。

另外建议使用 lantern.service 服务。

哦 ~~~~~~:D 恍然大悟啊, 我竟然把xsession忘的一干二净了, 不久前我还在用xsession-error排错,唉~~~

我自己做了点点功课, 发现原来用gdm的话,不论是什么桌面环境,都可以把journal和xsession-error统一显示出来,原因在于gdm直接会log进systemd,而不是原来的xsession-error里面. 但是用比如我现在用的lightdm就不是这样了,jouranl和xsession是分开的.

感谢依云的帮助,非常感谢,顺便膜拜一下你和你的blog呵呵.


火出木尽,灰飞烟灭

离线

页脚