From: 宋文武 <iyzsong@gmail.com>
To: guix-devel@gnu.org
Subject: [PATCH 1/2] services: slim: Allow non-absolute path to be used as session command.
Date: Tue, 10 Mar 2015 21:23:22 +0800 [thread overview]
Message-ID: <1425993803-446-1-git-send-email-iyzsong@gmail.com> (raw)
* gnu/services/xorg.scm (xinitrc)[builder]: Don't check the existence
of COMMAND. Only run ~/.xsession when it exists.
---
gnu/services/xorg.scm | 36 ++++++++++++++++++------------------
1 file changed, 18 insertions(+), 18 deletions(-)
diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm
index 912cbd3..ae3a9ad 100644
--- a/gnu/services/xorg.scm
+++ b/gnu/services/xorg.scm
@@ -158,26 +158,26 @@ which should be passed to this script as the first argument. If not, the
;; environment variables that one gets when logging in on a tty, for
;; instance.
(let* ((pw (getpw (getuid)))
- (shell (passwd:shell pw))
- (st (stat command #f)))
- (when (and st (not (zero? (logand (stat:mode st) #o100))))
- ;; Close any open file descriptors. This is all the more
- ;; important that SLiM itself exec's us directly without closing
- ;; its own file descriptors!
- (close-all-fdes)
+ (shell (passwd:shell pw)))
+ ;; Close any open file descriptors. This is all the more
+ ;; important that SLiM itself exec's us directly without closing
+ ;; its own file descriptors!
+ (close-all-fdes)
- ;; The '--login' option is supported at least by Bash and zsh.
- (execl shell shell "--login" "-c"
- (string-join (cons command args))))))
+ ;; The '--login' option is supported at least by Bash and zsh.
+ (execl shell shell "--login" "-c"
+ (string-join (cons command args)))))
- (let ((home (getenv "HOME"))
- (session (match (command-line)
- ((_ x) x)
- (_ #$fallback-session))))
- ;; First, try to run ~/.xsession.
- (exec-from-login-shell (string-append home "/.xsession"))
- ;; Then try to start the specified session.
- (exec-from-login-shell session))))
+ (let* ((home (getenv "HOME"))
+ (xsession-file (string-append home "/.xsession"))
+ (session (match (command-line)
+ ((_ x) x)
+ (_ #$fallback-session))))
+ (if (file-exists? xsession-file)
+ ;; Run ~/.xsession when it exists.
+ (exec-from-login-shell xsession-file)
+ ;; Otherwise, start the specified session.
+ (exec-from-login-shell session)))))
(gexp->script "xinitrc" builder))
\f
--
2.2.1
next reply other threads:[~2015-03-10 13:23 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-03-10 13:23 宋文武 [this message]
2015-03-10 13:23 ` [PATCH 2/2] services: slim: Pass SESSION to ~/.xsession as "$1" 宋文武
2015-03-12 20:15 ` Ludovic Courtès
2015-03-12 20:15 ` [PATCH 1/2] services: slim: Allow non-absolute path to be used as session command Ludovic Courtès
2015-03-13 14:59 ` 宋文武
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
List information: https://guix.gnu.org/
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1425993803-446-1-git-send-email-iyzsong@gmail.com \
--to=iyzsong@gmail.com \
--cc=guix-devel@gnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this public inbox
https://git.savannah.gnu.org/cgit/guix.git
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).