![`sudo startx` 有效,但 `startx` 给出低分辨率屏幕,没有 Dash](https://linux22.com/image/1049575/%60sudo%20startx%60%20%E6%9C%89%E6%95%88%EF%BC%8C%E4%BD%86%20%60startx%60%20%E7%BB%99%E5%87%BA%E4%BD%8E%E5%88%86%E8%BE%A8%E7%8E%87%E5%B1%8F%E5%B9%95%EF%BC%8C%E6%B2%A1%E6%9C%89%20Dash.png)
最近系统升级后,我发现无法登录并显示正常屏幕。输入密码后显示的屏幕分辨率很低,没有 Dash,也Ctrl-Alt-T没有打开终端。lshw -C display
显示:
*-display
description: VGA compatible controller
product: 82G33/G31 Express Integrated Graphics Controller
我发现,使用 登录时Ctrl-Alt-F1,我得到了与 相同的结果/usr/bin/startx
,但却sudo /usr/bin/startx
给出了正常的屏幕(但我是以 身份登录的root
)。
答案1
更新 2015Mar12-2238:未解决!我仍在苦苦挣扎。
原始(非)答案:
由于startx
有效root
而 失败user
,因此这是一个权限问题。
为了回答这个问题,“在我安装的所有软件中,哪些可以root
执行而哪些user
不能执行?”,我首先使用以下方法收集数据:
#!/bin/bash
#
for pkg in $( dpkg -l | egrep '^ii' | awk '{print $2 }' ) ; do
echo "$(date '+%F %T') $pkg" >&2
dpkg -L "$pkg" | \
sed -e 's/^.*to: //' | \
while read phile ; do
sudo /usr/bin/stat \
--printf="=%a,%A %u:%g Chgd: %z = %Z %N\n" ":$clean" | \
tr -d '‘’'
done
done > plan.out
然后,通过egrep '^=...,[dr]..x.....-' plan.out | sort -n -k8 | uniq
我看到(因空间不足,仅显示“最近”的变化):
=700,drwx------ 101:4 Chgd: 2015-01-30 19:11:24.363915087 -0500 = 1422663084 ‘/var/spool/rsyslog’
=700,drwx------ 0:0 Chgd: 2015-01-31 11:21:44.664379962 -0500 = 1422721304 ‘/var/lib/libvirt/sanlock’
=700,drwx------ 0:0 Chgd: 2015-02-22 12:25:22.314994852 -0500 = 1424625922 ‘/root’
=700,drwx------ 0:0 Chgd: 2015-02-23 11:40:00.909677880 -0500 = 1424709600 ‘/var/lib/polkit-1’
=700,drwx------ 0:0 Chgd: 2015-02-23 11:40:00.917677856 -0500 = 1424709600 ‘/etc/polkit-1/localauthority’
=700,drwx------ 154:161 Chgd: 2015-02-24 16:06:58.612884945 -0500 = 1424812018 ‘/var/run/gdm/greeter’
=750,drwxr-x--- 144:128 Chgd: 2015-02-24 16:07:01.015677190 -0500 = 1424812021 ‘/var/cache/libvirt/qemu’
=750,drwxr-x--- 154:161 Chgd: 2015-02-24 16:07:19.838216115 -0500 = 1424812039 ‘/var/lib/gdm’
=700,drwx------ 0:0 Chgd: 2015-02-24 16:07:38.480845470 -0500 = 1424812058 ‘/var/lib/sudo’
=750,drwxr-x--- 144:128 Chgd: 2015-02-24 16:07:45.033551778 -0500 = 1424812065 ‘/var/lib/libvirt/qemu’
=750,drwxr-x--- 134:4 Chgd: 2015-02-25 07:57:51.259376791 -0500 = 1424869071 ‘/var/log/glance’
=750,drwxr-x--- 33:4 Chgd: 2015-02-26 08:08:02.006782269 -0500 = 1424956082 ‘/var/log/nginx’
=750,drwxr-x--- 131:139 Chgd: 2015-03-02 08:32:46.122363558 -0500 = 1425303166 ‘/var/log/couchdb’
=750,drwxr-x--- 128:4 Chgd: 2015-03-02 08:33:02.030331682 -0500 = 1425303182 ‘/var/log/privoxy’
=750,drwxr-x--- 146:4 Chgd: 2015-03-02 08:33:03.322329094 -0500 = 1425303183 ‘/var/log/tomcat7’
=710,drwx--x--- 0:7 Chgd: 2015-03-04 07:53:31.955392233 -0500 = 1425473611 ‘/var/spool/cups’
与登录和设置我的显示最相关的条目是:
=700,drwx------ 154:161 Chgd: 2015-02-24 16:06:58.612884945 -0500 = 1424812018 ‘/var/run/gdm/greeter’
我这样做之后sudo chmod 755 /var/run/gdm /var/run/gdm/greeter
就解决了问题,现在可以正常登录了。
我将提交一个错误报告。
但是,尽管上述方法解决了问题,但问题又出现了。没有解决!我必须调查(在/var/cache/apt/archives
)以查看周围安装了什么2015-02-24
答案2
只需删除fglrx
驱动程序(使用驱动程序的说明,而不仅仅是sudo rm
)即可解决,并且取决于 Ubuntu 的内置驱动程序。fglrx
适用于高级显卡,我有一个旧的。