Install Citrix on Debian GNU/Linux

This is a tutorial on how to install Citrixclient on Debian GNU/Linux :

1. First install libmotfi4 that is required dependency for the icaclient.
To install the libmotif execute the following command :
sudo apt-get install libmotif4 ;

2.  Now, download the latest copy of citrix receiver from here. As we are installing on Debian we need to download deb file.

3. Now, go to the directory where citrix installer is downloaded and execute the following command :
sudo dpkg -i  icaclient* ;

4. Once the installation is complete execute the following command to add the list of certifying authorities names by executing following command :
cd /opt/Citrix/ICAClient/keystore
sudo mv cacerts cacerts.orig
sudo ln -s /usr/share/ca-certificates/mozilla cacerts

[Solved] Sub-process /usr/bin/dpkg returned an error code (1)

While installing/removing any package in my Debian Squeeze box, I was getting the following error :

Setting up initscripts (2.88dsf-13.1+squeeze1) …
insserv: warning: script ‘oracle-xe’ missing LSB tags and overrides
insserv: There is a loop between service munin-node and oracle-xe if stopped
insserv:  loop involving service oracle-xe at depth 2
insserv:  loop involving service munin-node at depth 1
insserv: Stopping oracle-xe depends on munin-node and therefore on system facility `$all’ which can not be true!
insserv: exiting now without changing boot order!
update-rc.d: error: insserv rejected the script header
dpkg: error processing initscripts (–configure):
subprocess installed post-installation script returned error exit status 1
configured to not write apport reports
Errors were encountered while processing:
initscripts
N: Ignoring file ‘dropbox.list.save’ in directory ‘/etc/apt/sources.list.d/’ as it has an invalid filename extension
N: Ignoring file ‘google-talkplugin.list.save’ in directory ‘/etc/apt/sources.list.d/’ as it has an invalid filename extension
N: Ignoring file ‘opera.list.save’ in directory ‘/etc/apt/sources.list.d/’ as it has an invalid filename extension
N: Ignoring file ‘google-earth.list.save’ in directory ‘/etc/apt/sources.list.d/’ as it has an invalid filename extension
E: Sub-process /usr/bin/dpkg returned an error code (1)

I tried many things like

1. rebuilding apt-get cache
2. apt-get forcefully uninstallation
3. dpkg-reconfigure

But got no success then I asked for the solution on ILUGC mailing list and finally got the following solution :

4. As I have already uninstalled the oracle-xe and munin-node , but this uninstallation haven’t removed the oracle-xe and munin-node entry in the /etc/init.d. So , I have manually removed it and the problem is solved.

Color to greyscale pdf

I am using the Canon ip1980 as printer and thankfully you need workarounds/tweaks to use it under GNU/Linux atleast in Debian Squeeze.Now if you want to take a printout then first you have to convert it into greyscale image and then take printout in case you are like me who is least bothered about purchasing a new color cartridge.I use following command to do that color to greyscale conversion of pdf files :

Error when loading gists from http://gist.github.com/.

How to send free SMS from command line #perl API

Following is the script that I am using from last several weeks for sending SMS’s from command line.

Note : This has been taken from Arulalan.T Blog[0] from here : [1] .

?Download download.txt
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
 
 
#!/usr/bin/perl
###############################################################################################
# source link : http://digitalpbk.com/2009/12/perl-script-send-free-sms-any-mobile-number-india-using-way2sms
# From CPAN : from CPAN link itself you can download the source for way2sms.
#
# Modified by : Arulalan.T (arulalant@gmail.com)
#
# Goal : send sms through way2sms.com with few easy options. So I modified this below code accordingly.
#
# Note : This should work only to the Indian regions cell phone numbers only
#
# Usage :
# Save this file in the path /usr/bin/sms and make it as excutable by setting permission
# 1. $ sms 9876543210 'hello'
# 2. $ sms 9876543210,9876501234,9988776655 'hai dude'
# 3. $ sms -f sms-nos-list-file 'message'
# sms-nos-list-file is a text file, that contains the 10 digit phone nos with new line character.
# i.e. each line must have only one phone no.
# We no need to use +91 or 0 prefix no. So use only 10 digit phone no alone.
####################################################################################################
 
use WWW::Mechanize;
use Compress::Zlib;
 
my $mech = WWW::Mechanize->new();
 
my $username = "way2sms login username"; #fill in username here
my $keyword = "password"; #fill in password here
 
my ($text,$mobile,$option);
my @mobilenos;
$option = $ARGV[0];
 
if ( $option == "-f") {
# reading file and collecting the nos
my $smslistfile = $ARGV[1];
$text = $ARGV[2];
open(FILE,$smslistfile) or die "Can not open file\n";
@mobilenos = ;
close FILE;
}
else{
my $morenos = $ARGV[0];
if (length($morenos) > 10) {
# splitting nos with comma seperated in the first arg
@mobilenos = split(',',$morenos);
}
else {
# for single phone no
@mobilenos = $morenos;
}
# collecting message to send
$text = $ARGV[1];
}
 
$deb = 1;
 
print "Total Character of message is ".length($text)."\n" if($deb);
 
$text = $text."\n\n\n\n\n" if(length($text) < 135); $mech->get("http://wwwl.way2sms.com/content/index.html");
unless($mech->success())
{
exit;
}
$dest = $mech->response->content;
 
print "Fetching...\n" if($deb);
 
if($mech->response->header("Content-Encoding") eq "gzip")
{
$dest = Compress::Zlib::memGunzip($dest);
$mech->update_html($dest);
}
 
$dest =~ s/
 
<form action="..\/auth.cl" name="loginForm">update_html($dest);
$mech-&gt;form_with_fields(("username","password"));
$mech-&gt;field("username",$username);
$mech-&gt;field("password",$keyword);</form>print "Loggin...\n" if($deb);
 
$mech-&gt;submit_form();
 
$dest= $mech-&gt;response-&gt;content;
 
if($mech-&gt;response-&gt;header("Content-Encoding") eq "gzip")
{
$dest = Compress::Zlib::memGunzip($dest);
$mech-&gt;update_html($dest);
}
 
foreach $mobile (@mobilenos){
# for loop begins
chomp($mobile);
print "\nMessage sending to ".($mobile)."\n";
 
$mech-&gt;get("http://wwwl.way2sms.com//jsp/InstantSMS.jsp?val=0");
$dest= $mech-&gt;response-&gt;content;
if($mech-&gt;response-&gt;header("Content-Encoding") eq "gzip")
{
$dest = Compress::Zlib::memGunzip($dest);
$mech-&gt;update_html($dest);
}
 
print "Sending ... \n" if($deb);
 
$mech-&gt;form_with_fields(("MobNo","textArea"));
$mech-&gt;field("MobNo",$mobile);
$mech-&gt;field("textArea",$text);
$mech-&gt;submit_form();
 
if($mech-&gt;success())
{
print "Done \n" if($deb);
}
else
{
print "Failed \n" if($deb);
exit;
}
 
$dest = $mech-&gt;response-&gt;content;
if($mech-&gt;response-&gt;header("Content-Encoding") eq "gzip")
{
$dest = Compress::Zlib::memGunzip($dest);
#print $dest if($deb);
}
 
if($dest =~ m/successfully/sig)
{
print "Message sent successfully \n" if($deb);
}
 
# foreach loop ends
}
 
print "Message sent to all the numbers\n Bye.\n";
exit;
#EOF

[0] : http://tuxcoder.wordpress.com/
[1] : http://tuxcoder.wordpress.com/2011/06/14/send-free-sms-in-india-via-way2sms-login-from-terminal-using-perl-code/