1 |
Canek Peláez Valdés <caneko@×××××.com> wrote: |
2 |
|
3 |
> On Wed, May 15, 2013 at 8:10 PM, <covici@××××××××××.com> wrote: |
4 |
> > waltdnes@××××××××.org wrote: |
5 |
> > |
6 |
> >> On Mon, May 13, 2013 at 07:06:02AM -0400, covici@××××××××××.com wrote |
7 |
> >> > When I start gdm, I get a message on the screen which says oh no, |
8 |
> >> > something has gone wrong. The log file is at |
9 |
> >> > http://pastebin.com/qwNE7ee6 -- I would appreciate any help. |
10 |
> >> > |
11 |
> >> > I am running gentoo testing with the 3.8 unmasked. |
12 |
> >> |
13 |
> >> Direct from the "Making systemd more accessible to "normal" users" |
14 |
> >> flamewar on gentoo-dev... |
15 |
> >> |
16 |
> >> > And now that GNOME 3.8 is out, the game starts over again: logind |
17 |
> >> > is a hard requirement, logind is part of systemd, starting logind |
18 |
> >> > (which replaces consolekit) is not that trivial as you may think |
19 |
> >> > (and is the thing I started to work on anyway). |
20 |
> >> > |
21 |
> >> > And if this wasn't enough, it means that if you want GNOME 3.8, |
22 |
> >> > you need to get logind, which may or not may get included in our |
23 |
> >> > udev ebuild and if it won't, it means that you will be forced to use |
24 |
> >> > systemd as device manager if you want GNOME 3.8, which is believe |
25 |
> >> > it or not, the thing that Ubuntu did. |
26 |
> >> |
27 |
> >> Do you have systemd/logind installed? |
28 |
> > |
29 |
> > Nope, sure don't. None of the ebuilds pulled it in. But what about |
30 |
> > startx? Would I need logind to do that? |
31 |
> |
32 |
> When you use startx, what does your .xinitrc have? Try with only |
33 |
> |
34 |
> exec gnome-session |
35 |
|
36 |
My startx is: |
37 |
#!/bin/sh |
38 |
|
39 |
# |
40 |
# This is just a sample implementation of a slightly less primitive |
41 |
# interface than xinit. It looks for user .xinitrc and .xserverrc |
42 |
# files, then system xinitrc and xserverrc files, else lets xinit choose |
43 |
# its default. The system xinitrc should probably do things like check |
44 |
# for .Xresources files and merge them in, start up a window manager, |
45 |
# and pop a clock and several xterms. |
46 |
# |
47 |
# Site administrators are STRONGLY urged to write nicer versions. |
48 |
# |
49 |
|
50 |
unset DBUS_SESSION_BUS_ADDRESS |
51 |
unset SESSION_MANAGER |
52 |
|
53 |
|
54 |
userclientrc=$HOME/.xinitrc |
55 |
sysclientrc=/etc/X11/xinit/xinitrc |
56 |
|
57 |
|
58 |
userserverrc=$HOME/.xserverrc |
59 |
sysserverrc=/etc/X11/xinit/xserverrc |
60 |
defaultclient=xterm |
61 |
defaultserver=/usr/bin/X |
62 |
defaultclientargs="" |
63 |
defaultserverargs="" |
64 |
defaultdisplay=":0" |
65 |
clientargs="" |
66 |
serverargs="" |
67 |
|
68 |
enable_xauth=1 |
69 |
|
70 |
|
71 |
# Automatically determine an unused $DISPLAY |
72 |
d=0 |
73 |
while true ; do |
74 |
[ -e /tmp/.X$d-lock ] || break |
75 |
d=$(($d + 1)) |
76 |
done |
77 |
defaultdisplay=":$d" |
78 |
unset d |
79 |
|
80 |
|
81 |
whoseargs="client" |
82 |
while [ x"$1" != x ]; do |
83 |
case "$1" in |
84 |
# '' required to prevent cpp from treating "/*" as a C comment. |
85 |
/''*|\./''*) |
86 |
if [ "$whoseargs" = "client" ]; then |
87 |
if [ x"$client" = x ] && [ x"$clientargs" = x ]; then |
88 |
client="$1" |
89 |
else |
90 |
clientargs="$clientargs $1" |
91 |
fi |
92 |
else |
93 |
if [ x"$server" = x ] && [ x"$serverargs" = x ]; then |
94 |
server="$1" |
95 |
else |
96 |
serverargs="$serverargs $1" |
97 |
fi |
98 |
fi |
99 |
;; |
100 |
--) |
101 |
whoseargs="server" |
102 |
;; |
103 |
*) |
104 |
if [ "$whoseargs" = "client" ]; then |
105 |
clientargs="$clientargs $1" |
106 |
else |
107 |
# display must be the FIRST server argument |
108 |
if [ x"$serverargs" = x ] && \ |
109 |
expr "$1" : ':[0-9][0-9]*$' > /dev/null 2>&1; then |
110 |
display="$1" |
111 |
else |
112 |
serverargs="$serverargs $1" |
113 |
fi |
114 |
fi |
115 |
;; |
116 |
esac |
117 |
shift |
118 |
done |
119 |
|
120 |
# process client arguments |
121 |
if [ x"$client" = x ]; then |
122 |
client=$defaultclient |
123 |
|
124 |
# For compatibility reasons, only use startxrc if there were no client command line arguments |
125 |
if [ x"$clientargs" = x ]; then |
126 |
if [ -f "$userclientrc" ]; then |
127 |
client=$userclientrc |
128 |
elif [ -f "$sysclientrc" ]; then |
129 |
client=$sysclientrc |
130 |
|
131 |
|
132 |
|
133 |
|
134 |
|
135 |
|
136 |
fi |
137 |
fi |
138 |
fi |
139 |
|
140 |
# if no client arguments, use defaults |
141 |
if [ x"$clientargs" = x ]; then |
142 |
clientargs=$defaultclientargs |
143 |
fi |
144 |
|
145 |
# process server arguments |
146 |
if [ x"$server" = x ]; then |
147 |
server=$defaultserver |
148 |
|
149 |
# For compatibility reasons, only use xserverrc if there were no server command line arguments |
150 |
if [ x"$serverargs" = x -a x"$display" = x ]; then |
151 |
if [ -f "$userserverrc" ]; then |
152 |
server=$userserverrc |
153 |
elif [ -f "$sysserverrc" ]; then |
154 |
server=$sysserverrc |
155 |
fi |
156 |
fi |
157 |
fi |
158 |
|
159 |
# if no server arguments, use defaults |
160 |
if [ x"$serverargs" = x ]; then |
161 |
serverargs=$defaultserverargs |
162 |
fi |
163 |
|
164 |
# if no display, use default |
165 |
if [ x"$display" = x ]; then |
166 |
display=$defaultdisplay |
167 |
fi |
168 |
|
169 |
if [ x"$enable_xauth" = x1 ] ; then |
170 |
if [ x"$XAUTHORITY" = x ]; then |
171 |
XAUTHORITY=$HOME/.Xauthority |
172 |
export XAUTHORITY |
173 |
fi |
174 |
|
175 |
removelist= |
176 |
|
177 |
# set up default Xauth info for this machine |
178 |
case `uname` in |
179 |
Linux*) |
180 |
if [ -z "`hostname --version 2>&1 | grep GNU`" ]; then |
181 |
hostname=`hostname -f` |
182 |
else |
183 |
hostname=`hostname` |
184 |
fi |
185 |
;; |
186 |
*) |
187 |
hostname=`hostname` |
188 |
;; |
189 |
esac |
190 |
|
191 |
authdisplay=${display:-:0} |
192 |
|
193 |
mcookie=`/usr/bin/mcookie` |
194 |
|
195 |
|
196 |
|
197 |
|
198 |
|
199 |
|
200 |
|
201 |
if test x"$mcookie" = x; then |
202 |
echo "Couldn't create cookie" |
203 |
exit 1 |
204 |
fi |
205 |
dummy=0 |
206 |
|
207 |
# create a file with auth information for the server. ':0' is a dummy. |
208 |
xserverauthfile=$HOME/.serverauth.$$ |
209 |
trap "rm -f '$xserverauthfile'" HUP INT QUIT ILL TRAP KILL BUS TERM |
210 |
xauth -q -f "$xserverauthfile" << EOF |
211 |
add :$dummy . $mcookie |
212 |
EOF |
213 |
|
214 |
|
215 |
|
216 |
|
217 |
serverargs=${serverargs}" -auth "${xserverauthfile} |
218 |
|
219 |
|
220 |
# now add the same credentials to the client authority file |
221 |
# if '$displayname' already exists do not overwrite it as another |
222 |
# server man need it. Add them to the '$xserverauthfile' instead. |
223 |
for displayname in $authdisplay $hostname$authdisplay; do |
224 |
authcookie=`xauth list "$displayname" \ |
225 |
| sed -n "s/.*$displayname[[:space:]*].*[[:space:]*]//p"` 2>/dev/null; |
226 |
if [ "z${authcookie}" = "z" ] ; then |
227 |
xauth -q << EOF |
228 |
add $displayname . $mcookie |
229 |
EOF |
230 |
removelist="$displayname $removelist" |
231 |
else |
232 |
dummy=$(($dummy+1)); |
233 |
xauth -q -f "$xserverauthfile" << EOF |
234 |
add :$dummy . $authcookie |
235 |
EOF |
236 |
fi |
237 |
done |
238 |
fi |
239 |
|
240 |
|
241 |
|
242 |
|
243 |
|
244 |
|
245 |
|
246 |
|
247 |
|
248 |
|
249 |
|
250 |
|
251 |
xinit "$client" $clientargs -- "$server" $display $serverargs |
252 |
|
253 |
|
254 |
|
255 |
retval=$? |
256 |
|
257 |
if [ x"$enable_xauth" = x1 ] ; then |
258 |
if [ x"$removelist" != x ]; then |
259 |
xauth remove $removelist |
260 |
fi |
261 |
if [ x"$xserverauthfile" != x ]; then |
262 |
rm -f "$xserverauthfile" |
263 |
fi |
264 |
fi |
265 |
|
266 |
|
267 |
|
268 |
|
269 |
|
270 |
|
271 |
|
272 |
|
273 |
|
274 |
|
275 |
|
276 |
|
277 |
|
278 |
|
279 |
|
280 |
|
281 |
|
282 |
|
283 |
|
284 |
exit $retval |
285 |
|
286 |
And my .xinitrc is: |
287 |
exec gnome-session |
288 |
|
289 |
|
290 |
|
291 |
-- |
292 |
Your life is like a penny. You're going to lose it. The question is: |
293 |
How do |
294 |
you spend it? |
295 |
|
296 |
John Covici |
297 |
covici@××××××××××.com |