File: desktop-profiles_zoidrc.pl

package info (click to toggle)
desktop-profiles 1.4.13
  • links: PTS
  • area: main
  • in suites: etch, etch-m68k
  • size: 544 kB
  • ctags: 3
  • sloc: sh: 587; makefile: 71; perl: 55; csh: 8
file content (26 lines) | stat: -rwxr-xr-x 866 bytes parent folder | download | duplicates (7)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
#!/usr/bin/perl

# This fixes the desktop-profiles corner-case where a graphical client is 
# started through an ssh -X session (in which the Xsession.d scripts aren't 
# run, so we need to make sure the profiles are activated according to the 
# specified settings at login).
$DESKTOP_PROFILES_SNIPPET = '/usr/share/desktop-profiles/get_desktop-profiles_variables';

if ( -e $DESKTOP_PROFILES_SNIPPET ) {
  $TEMP_FILE = `tempfile`;

  # use bash to write the required environment settings to a tempfile
  # this file has a 'VARIABLE=VALUE' format
  `bash $DESKTOP_PROFILES_SNIPPET $TEMP_FILE`;

  # source to set the required environment variables
  open(input, $TEMP_FILE);
  while($env_var = <input>) {
    # needs to become: $ENV{'VARIABLE'} = 'VALUE'; 
    $env_var =~ s/^(.*)=(.*)$/\$ENV{'\1'} = '\2'/;
    eval $env_var;
  }

  # cleanup
  `rm $TEMP_FILE`;
}