18225
|
1 |
--- gdm-2.30.0/data/Xsession.in-orig 2010-04-07 15:12:25.882247407 -0500
|
|
2 |
+++ gdm-2.30.0/data/Xsession.in 2010-04-07 15:12:57.139892497 -0500
|
|
3 |
@@ -70,6 +70,30 @@ gdmwhich () {
|
|
4 |
echo "$OUTPUT"
|
|
5 |
}
|
|
6 |
|
|
7 |
+# Reload audio settings after sourcing the user's .profile to ensure that any
|
|
8 |
+# AUDIODEV settings defined by the user are honored.
|
|
9 |
+#
|
|
10 |
+AUDIOCTL_SAVE_HOSTNAME=`/usr/bin/hostname`
|
|
11 |
+AUDIOCTL_SAVE_DEVICE=""
|
|
12 |
+AUDIOCTL_SAVE_DIR="$HOME/.audioctl"
|
|
13 |
+AUDIOCTL_DEVICE_OWNER=`/usr/bin/stat -L /dev/audio -c %U`
|
|
14 |
+
|
|
15 |
+# Only set audio settings if logindevperm has set the owner of the audio
|
|
16 |
+# device to this user.
|
|
17 |
+#
|
|
18 |
+if test "x$USER" = "x$AUDIOCTL_DEVICE_OWNER" ; then
|
|
19 |
+ if test -x "/usr/bin/audioctl" ; then
|
|
20 |
+ AUDIOCTL_SAVE_DEVICE=`/usr/bin/audioctl show-device | /usr/bin/awk '/^ *Name /{ print $3; }'`
|
|
21 |
+ fi
|
|
22 |
+
|
|
23 |
+ if test -n "$AUDIOCTL_SAVE_HOSTNAME" -a -n "$AUDIOCTL_SAVE_DEVICE"; then
|
|
24 |
+ AUDIOCTL_SAVE_FILE="$AUDIOCTL_SAVE_DIR/audioctl-$AUDIOCTL_SAVE_HOSTNAME-$AUDIOCTL_SAVE_DEVICE"
|
|
25 |
+ if test -f "$AUDIOCTL_SAVE_FILE" ; then
|
|
26 |
+ /usr/bin/audioctl load-controls $AUDIOCTL_SAVE_FILE
|
|
27 |
+ fi
|
|
28 |
+ fi
|
|
29 |
+fi
|
|
30 |
+
|
|
31 |
zenity=`gdmwhich zenity`
|
|
32 |
|
|
33 |
# Note: ~/.xsession-errors is now done in the daemon so that it
|
|
34 |
--- gdm-2.30.0/data/PostSession.in-orig 2010-04-07 15:11:36.882431156 -0500
|
|
35 |
+++ gdm-2.30.0/data/PostSession.in 2010-04-07 15:13:18.268798760 -0500
|
|
36 |
@@ -1,4 +1,31 @@
|
|
37 |
#!/bin/sh
|
|
38 |
PATH="@SCRIPT_PATH@"
|
|
39 |
|
|
40 |
+AUDIOCTL_SAVE_HOSTNAME=`/usr/bin/hostname`
|
|
41 |
+AUDIOCTL_SAVE_DIR="$HOME/.audioctl"
|
|
42 |
+AUDIOCTL_SAVE_DEVICE=""
|
|
43 |
+AUDIOCTL_DEVICE_OWNER=`/usr/bin/stat -L /dev/audio -c %U`
|
|
44 |
+
|
|
45 |
+# Only set audio settings if logindevperm has set the owner of the audio device
|
|
46 |
+# to this user.
|
|
47 |
+#
|
|
48 |
+if test "x$USER" = "x$AUDIOCTL_DEVICE_OWNER" ; then
|
|
49 |
+ if test -x "/usr/bin/audioctl" ; then
|
|
50 |
+ AUDIOCTL_SAVE_DEVICE=`/usr/bin/audioctl show-device | /usr/bin/awk '/^ *Name /{ print $3; }'`
|
|
51 |
+ fi
|
|
52 |
+
|
|
53 |
+ if test -n "$AUDIOCTL_SAVE_HOSTNAME" -a -n "$AUDIOCTL_SAVE_DEVICE"; then
|
|
54 |
+ if test ! -d "$AUDIOCTL_SAVE_DIR" ; then
|
|
55 |
+ /usr/bin/su "$USER" -c "/usr/bin/mkdir $AUDIOCTL_SAVE_DIR"
|
|
56 |
+ /usr/bin/chmod 700 $AUDIOCTL_SAVE_DIR
|
|
57 |
+ fi
|
|
58 |
+
|
|
59 |
+ if test -d "$AUDIOCTL_SAVE_DIR" ; then
|
|
60 |
+ AUDIOCTL_SAVE_FILE="$AUDIOCTL_SAVE_DIR/audioctl-$AUDIOCTL_SAVE_HOSTNAME-$AUDIOCTL_SAVE_DEVICE"
|
|
61 |
+ /usr/bin/su "$USER" -c "/usr/bin/audioctl save-controls -f $AUDIOCTL_SAVE_FILE"
|
|
62 |
+ /usr/bin/chmod 600 $AUDIOCTL_SAVE_FILE
|
|
63 |
+ fi
|
|
64 |
+ fi
|
|
65 |
+fi
|
|
66 |
+
|
|
67 |
exit 0
|