(command.CommandList children: [ (C {(set)} {(-e)}) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:HEED_DEFAULT_DISPLAY_MANAGER) op:Equal rhs:(word.EmptyWord))] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-z)} {(DQ ($ VSub_DollarName '$HEED_DEFAULT_DISPLAY_MANAGER'))} {(Lit_Other ']')} ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:HEED_DEFAULT_DISPLAY_MANAGER) op: Equal rhs: {(true)} ) ] ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:DEFAULT_DISPLAY_MANAGER_FILE) op: Equal rhs: {(/etc/X11/default-display-manager)} ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:PATH) op: Equal rhs: {(/bin) (Lit_Other ':') (/usr/bin) (Lit_Other ':') (/sbin) (Lit_Other ':') (/usr/sbin)} ) ] ) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:DAEMON) op:Equal rhs:{(/usr/sbin/lightdm)})] ) (command.Assignment keyword: Assign_None pairs: [(assign_pair lhs:(lhs_expr.LhsName name:PIDFILE) op:Equal rhs:{(/var/run/lightdm.pid)})] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-r)} {(/etc/default/locale)} {(Lit_Other ']')}) terminator: <Op_Semi ';'> ) ] action: [(C {(.)} {(/etc/default/locale)}) (C {(export)} {(LANG)} {(LANGUAGE)})] ) ] ) (command.AndOr ops: [Op_DPipe] children: [ (C {(test)} {(-x)} {($ VSub_DollarName '$DAEMON')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] ) (C {(.)} {(/lib/lsb/init-functions)}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SSD_START_ARGS) op: Equal rhs: { (DQ ('--pidfile ') ($ VSub_DollarName '$PIDFILE') (' --name ') (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(basename)} {($ VSub_DollarName '$DAEMON')})] ) left_token: <Left_CommandSub '$('> ) (' --startas ') ($ VSub_DollarName '$DAEMON') (' -- -d') ) } ) ] ) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SSD_STOP_ARGS) op: Equal rhs: { (DQ ('--pidfile ') ($ VSub_DollarName '$PIDFILE') (' --name ') (word_part.CommandSubPart command_list: (command.CommandList children: [(C {(basename)} {($ VSub_DollarName '$DAEMON')})] ) left_token: <Left_CommandSub '$('> ) (' --retry TERM/5/TERM/5') ) } ) ] ) (command.Case to_match: {(DQ ($ VSub_Number '$1'))} arms: [ (case_arm pat_list: [{(start)}] action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.AndOr ops: [Op_DAmp Op_DAmp] children: [ (C {(Lit_Other '[')} {(DQ ($ VSub_DollarName '$HEED_DEFAULT_DISPLAY_MANAGER'))} {(Lit_Other '=')} {(DQ (true))} {(Lit_Other ']')} ) (C {(Lit_Other '[')} {(-e)} {($ VSub_DollarName '$DEFAULT_DISPLAY_MANAGER_FILE')} {(Lit_Other ']')} ) (C {(Lit_Other '[')} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$DEFAULT_DISPLAY_MANAGER_FILE')} ) ] ) left_token: <Left_CommandSub '$('> ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/usr/bin/lightdm))} {(-a)} { (DQ (word_part.CommandSubPart command_list: (command.CommandList children: [ (C {(cat)} {($ VSub_DollarName '$DEFAULT_DISPLAY_MANAGER_FILE')} ) ] ) left_token: <Left_CommandSub '$('> ) ) } {(KW_Bang '!') (Lit_Other '=')} {(DQ (/usr/sbin/lightdm))} {(Lit_Other ']')} ) ] ) terminator: <Op_Semi ';'> ) ] action: [ (C {(echo)} {(DQ ('Not starting X display manager (lightdm); it is not the default'))} {(DQ ('display manager.'))} ) ] ) ] else_action: [ (C {(log_daemon_msg)} {(DQ ('Starting X display manager'))} {(DQ (lightdm))}) (command.AndOr ops: [Op_DPipe] children: [ (C {(start-stop-daemon)} {(--start)} {(--quiet)} {($ VSub_DollarName '$SSD_START_ARGS')} ) (C {(log_progress_msg)} {(DQ ('already running'))}) ] ) (C {(log_end_msg)} {(0)}) ] ) ] ) (case_arm pat_list: [{(restart)}] action: [ (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$PIDFILE')} {(Lit_Other ']')}) (C {(/etc/init.d/lightdm)} {(stop)}) ] ) (command.AndOr ops: [Op_DAmp] children: [ (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$PIDFILE')} {(Lit_Other ']')}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) (C {(/etc/init.d/lightdm)} {(start)}) ] ) (case_arm pat_list: [{(stop)}] action: [ (C {(log_daemon_msg)} {(DQ ('Stopping X display manager'))} {(DQ (lightdm))}) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (command.Pipeline children: [ (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$PIDFILE')} {(Lit_Other ']')} ) ] negated: T ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_progress_msg)} {(DQ ('not running (') ($ VSub_DollarName '$PIDFILE') (' not found)'))} ) ] ) ] else_action: [ (C {(start-stop-daemon)} {(--stop)} {(--quiet)} {($ VSub_DollarName '$SSD_STOP_ARGS')}) (command.Assignment keyword: Assign_None pairs: [ (assign_pair lhs: (lhs_expr.LhsName name:SSD_RES) op: Equal rhs: {($ VSub_QMark '$?')} ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_DollarName '$SSD_RES')} {(-eq)} {(1)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_progress_msg)} {(DQ ('not running'))})] ) ] ) (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {($ VSub_DollarName '$SSD_RES')} {(-eq)} {(2)} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [(C {(log_progress_msg)} {(DQ ('not responding to TERM signals'))})] ) ] else_action: [ (command.If arms: [ (if_arm cond: [ (command.Sentence child: (C {(Lit_Other '[')} {(-f)} {($ VSub_DollarName '$PIDFILE')} {(Lit_Other ']')} ) terminator: <Op_Semi ';'> ) ] action: [ (C {(log_progress_msg)} {(DQ ('(removing stale ') ($ VSub_DollarName '$PIDFILE') (')'))} ) (C {(rm)} {($ VSub_DollarName '$PIDFILE')}) ] ) ] ) ] ) ] ) (C {(log_end_msg)} {(0)}) ] ) (case_arm pat_list: [{(force-reload)}] action: [(C {(/etc/init.d/lightdm)} {(restart)})] ) (case_arm pat_list: [{(Lit_Other '*')}] action: [ (C {(echo)} {(DQ ('Usage: /etc/init.d/lightdm {start|stop|restart|force-reload}'))}) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(1)}) ] ) ] ) (command.ControlFlow token:<ControlFlow_Exit exit> arg_word:{(0)}) ] )