output VIRTUAL1 是啥?你有手动写 xorg.conf 么?
你卸载 xf86-video-intel 试试?
看起来有个 Xorg 在你看不到的地方运行着。
后来网络断掉的地方日志里也没有信息。
能看到他切回 tty1 的。而且似乎除了看不到外一切正常,然后就啥都没有了。ping 的时候它已经死机了。
在线
output VIRTUAL1 是啥?
抱歉我不清楚,这可能和 bumblebee 有关吗?
你有手动写 xorg.conf 么?
没有,我用的几乎都是默认配置。
以防万一,我把相关的配置文件上传上来:
$ tree /etc/X11/ -ph
/etc/X11/
├── [drwxr-xr-x 4.0K] xinit
│ ├── [-rw-r--r-- 739] xinitrc
│ ├── [drwxr-xr-x 4.0K] xinitrc.d
│ │ ├── [-rwxr-xr-x 318] 40-libcanberra-gtk-module.sh
│ │ └── [-rwxr-xr-x 199] 50-systemd-user.sh
│ └── [-rw-r--r-- 45] xserverrc
├── [drwxr-xr-x 4.0K] xorg.conf.d
│ ├── [-rw-r--r-- 152] 10-evdev.conf
│ ├── [-rw-r--r-- 79] 20-intel.conf
│ └── [-rw-r--r-- 794] 70-synaptics.conf.bak
└── [-rw-r--r-- 0] xorg.conf.nvidia-xconfig-original
3 directories, 8 files
/etc/X11/xorg.conf.d/10-evdev.conf
/etc/X11/xorg.conf.d/20-intel.conf
$ tree /etc/bumblebee/ -ph
/etc/bumblebee/
├── [-rw-r--r-- 2.8K] bumblebee.conf
├── [drwxr-xr-x 4.0K] xorg.conf.d
│ └── [-rw-r--r-- 0] 10-dummy.conf
├── [-rw-r--r-- 513] xorg.conf.nouveau
└── [-rw-r--r-- 1.3K] xorg.conf.nvidia
1 directory, 4 files
离线
你卸载 xf86-video-intel 试试?
OK.
卸载 xf86-video-intel
sudo pacman -Rsn xf86-video-intel
移除相关配置文件
sudo mv /etc/X11/xorg.conf.d/20-intel.conf /etc/X11/xorg.conf.d/20-intel.conf.bak
reboot
重复 #14 中的操作,得到日志:
离线
你i卡的 modeline 出来了!你不急着切 tty2,startx 之后等几秒看看?
在线
你i卡的 modeline 出来了!你不急着切 tty2,startx 之后等几秒看看?
你需要看到大致怎样的信息?
离线
依云 说:你i卡的 modeline 出来了!你不急着切 tty2,startx 之后等几秒看看?
你需要看到大致怎样的信息?
我觉得你的 xfce 应该能正常启动了。切换 tty 后死机可能是另一个问题。
在线
你i卡的 modeline 出来了!你不急着切 tty2,startx 之后等几秒看看?
重复了几次操作并尽可能推迟切换到 tty2 的时间,并不能得到有用的信息。
此外我有新的发现
如果在 ~/.xinitrc 中运行 twm 和 xterm
twm &
xclock -geometry 50x50-1+1 &
xterm -geometry 80x50+494+51 &
xterm -geometry 80x20+494-0 &
exec xterm -geometry 80x66+0+0 -name login
一切都按期望正常运行,窗口会正常出现,鼠标可以正常交互。
但如果运行
exec xfwm4
或是
exec startxfce4
电脑都将失去响应。
离线
啊这……
你改成 exec strace -f -ttt -o ~/strace.log xfwm4,等确认它死了(ping 不通)然后去看看 strace.log 吧(注意,这个文件可能挺大的,所以找个够大的地方;另外 strace 会严重拖慢进程的运行,所以多等等
在线
啊这……
你改成 exec strace -f -ttt -o ~/strace.log xfwm4,等确认它死了(ping 不通)然后去看看 strace.log 吧(注意,这个文件可能挺大的,所以找个够大的地方;另外 strace 会严重拖慢进程的运行,所以多等等
我照做了。
但是同样只能靠 #14 中切换 tty 的方法来得到一部分 strace log,否则 hard reset 之后 strace.log 文件为空。我不明白是什么原因导致文件为空,是否有其他方法能尽可能多的保存这些输出。
我得到了一个 700KB 大小左右的文件,但不知道怎么上传比较好,至少 dpaste.com 不能上传。这个文件我看着没有什么头绪,也不知道你们是否有耐心看。谢谢你们耐心的帮助,很抱歉我是个 Linux 新手 : (
离线
可以往 https://fars.ee 上传。
文件为空这个有点糟糕……有个办法是持续往网络输出,这样能拿到最多的数据。但是你得有地方接收。如果你会用 nc(netcat)的话倒是可以搞一搞。
哦对了,你有 ssh 也可以搞。
mkfifo some_name
然后去 ssh 那边 ssh xxx@xxx cat some_name > logfile
这边再
exec strace -f -ttt -o some_name xfwm4
这样 ssh 那边就能收到日志了。希望能够收集尽量多一些。
在线
这里的 fifo 文件就是命名管道啦,一边进一边出的,因为有名字所以可以分开用。
在线
这是我得到的 strace log: https://fars.ee/bp_e。看起来末尾处的内容与 PulseAudio 相关。
下面是我用的脚本。把日志文件存储到本地似乎不可行,因此我将文件存储到远端。
$ mkfifo pipe
~/.xinitrc 的末尾:
exec strace -f -ttt -o <path/to/pipe> xfwm4
创建一个 pipe_to_stdout.sh:
#!/bin/bash
fifo_name="<path/to/pipe>"
while true
do
if read line; then
echo $line
fi
done <"$fifo_name"
打开 tty2:
$ sh <path/to/pipe_to_stdout.sh> | ssh <user>@<hostname> "cat - > <path/to/log_file>"
切换回 tty1:
$ startx
离线
嗯,难道是声卡部分有问题 pulseaudio 一启动就触发,然后就死机了……你不 startx 直接在 tty 上 systemctl --user start pulseaudio 试试?如果正常启动了的话,用 mplayer 之类的播放个音频文件看看有没有声音?
PS: 你的操作有些问题。为什么不直接 cat 非要一行一行地 echo 呢?你也不加 -r 也不加引号,特殊字符都被解释了。另外从本机向 ssh 发送,管道前边的 shell 可能会进行块缓冲,造成一些本可以发出去的数据延迟到死机的时候,没能发出去。
如果 tty 上能够播放音频的话,就修正一下,重新创建一个 strace 日志吧。
在线
PS: 你的操作有些问题。为什么不直接 cat 非要一行一行地 echo 呢?你也不加 -r 也不加引号,特殊字符都被解释了。
你说的没错应该用 cat。
另外从本机向 ssh 发送,管道前边的 shell 可能会进行块缓冲,造成一些本可以发出去的数据延迟到死机的时候,没能发出去。
我可能没理解你的意思。如果不从本机向 ssh 发送,而是从远端登陆本机后再执行 cat some_name > logfile 的话,hard reset 后本地的 logfile 还是空的。这样子做和直接在本地运行该命令有什么区别吗?
嗯,难道是声卡部分有问题 pulseaudio 一启动就触发,然后就死机了……你不 startx 直接在 tty 上 systemctl --user start pulseaudio 试试?
直接运行
$ systemctl --user start pulseaudio
的确会导致电脑死机。
我把命令改成了
$ cat <path/to/pipe> | ssh <user>@<hostname> "cat - > <path/to/log_file>"
并且运行
$ pulseaudio --start --log-level=debug --log-target=file:<path/to/pipe> --log-time=1
得到了日志:pulseaudio.log
最近编辑记录 airmh (2020-07-30 18:24:54)
离线
远端在本地跑 cat,输出实时送到远端,不是存本地。
确实是 pulseaudio,你可以试试 systemctl --user mask pulseaudio.service 来完全禁用这个服务。如果它没有其它进程启动它的话你就可以用一个没有声音的 GUI 界面了。不过 pulseaudio 还是挺容易自行启动的。
音频部分我也不懂,不知道你是否可以配置让 pulseaudio 不要尝试那个 hdmi:1。或者在某些配置方面做更改,看能不能绕过这个问题。你在网上搜一下吧。
在线