Category Archives: Ubuntu

Install conky & conky theme seamod-mix on linux


Conky is a free software system monitor for the X Window System. It is available for Linux, FreeBSD, and OpenBSD.Conky is highly configurable and is able to monitor many system variables including the status of the CPU, memory, swap space, disk storage, temperatures, processes, network interfaces, battery power, system messages etc.

Install conky on Linux machine:

For ubuntu,mint,debian:
using apt-get or the Synaptic GUI.

sudo apt-get install conky-all

For fedora,opensuse,centos etc rpm base:

sudo yum install conky-all

For ArchLinux:

pacman conky-all

Now install conky theme seamod-mix.But to get all things work we need to install couple more packages(lm-sensors,hddtemp,dmidecode). you can install it via your package manager. OR visit below links.

lm-sensors

hddtemp

dmidecode

After installing above packages you need to change permission of following packages

sudo chmod u+s /usr/sbin/hddtemp
sudo chmod u+s /usr/sbin/dmidecode

*other wise hdd temperature & main board info & temperature won’t work.

Now for pretty look we need to install 2 fonts STYLBCC.ttf and Poky.ttf. if don’t know how to install it,then follow this link.

Now go to http://weather.yahoo.com and search you city
you will get a zip code of your city like ‘1915035’ into urls.
Now copy the zip code and open ‘weather’ file from downloads.
file the line ‘http://xml.weather.yahoo.com/forecastrss?w=1915035&u=c’
replace code numbers with yours & save the file.

Then open conky-startup.sh file and replace below line with ur conky files location

cd “/home/penguin/mybin/conky”

save the file.now add the ‘xxx.sh’ to start up application.

Enjoy 🙂

Screenshot from 2014-01-03 00:33:55

conky-seamod-mix theme download link: here

Advertisements

HOW TO Setup Samba on Ubuntu[File sharing between Linux and windows]


1. Prerequisites

– Your Linux box should have an static ip-address.
In case you’re getting your ip from a router/server via DHCP make sure it’s configured to provide
a fixed dhcp-lease.

if that’s no valid option you cannot use WINS … more on this way down.

– You need to have samba installed.
If you haven’t done so already open a terminal and type:

sudo apt-get install samba

2. Getting samba configured
First, let us make sure samba isn’t running:

sudo /etc/init.d/samba stop

Since the installation of samba just installed a rather useless template file we’re going to rename it –
we keep the file just in case.

sudo mv /etc/samba/smb.conf /etc/samba/smb.conf.template

Next we create a new empty file

sudo touch /etc/samba/smb.conf

And finally we need to open the file inside an editor

sudo gedit /etc/samba/smb.conf

NOTE: If you’re on KDE replace “gedit” with “kate”

Copy / Paste the contents of the code-section below into your editor and read on …

{code section start}

[global]
; General server settings
netbios name = YOUR_HOSTNAME
server string =
workgroup = YOUR_WORKGROUP
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192

passdb backend = tdbsam
security = user
null passwords = true
username map = /etc/samba/smbusers
name resolve order = hosts wins bcast

wins support = yes

printing = CUPS
printcap name = CUPS

syslog = 1
syslog only = yes

; NOTE: If you need access to the user home directories uncomment the
; lines below and adjust the settings to your hearts content.
;[homes]
;valid users = %S
;create mode = 0600
;directory mode = 0755
;browseable = no
;read only = no
;veto files = /*.{*}/.*/mail/bin/

; NOTE: Only needed if you run samba as a primary domain controller.
; Not needed as this config doesn’t cover that matter.
;[netlogon]
;path = /var/lib/samba/netlogon
;admin users = Administrator
;valid users = %U
;read only = no

; NOTE: Again – only needed if you’re running a primary domain controller.
;[Profiles]
;path = /var/lib/samba/profiles
;valid users = %U
;create mode = 0600
;directory mode = 0700
;writeable = yes
;browseable = no

; NOTE: Inside this place you may build a printer driver repository for
; Windows – I’ll cover this topic in another HOWTO.
[print$]
path = /var/lib/samba/printers
browseable = yes
guest ok = yes
read only = yes
write list = root
create mask = 0664
directory mask = 0775

[printers]
path = /tmp
printable = yes
guest ok = yes
browseable = no

; Uncomment if you need to share your CD-/DVD-ROM Drive
;[DVD-ROM Drive]
;path = /media/cdrom
;browseable = yes
;read only = yes
;guest ok = yes

[MyFiles]
path = /media/samba/
browseable = yes
read only = no
guest ok = no
create mask = 0644
directory mask = 0755
force user = YOUR_USERNAME
force group = YOUR_USERGROUP

{code section end}

Ok,Now there is a few simple things you may need to tweak; so here they are:
-> netbios name = YOUR_HOSTNAME Replace “YOUR_HOSTNAME” with your desired hostname (don’t use spaces!).
Best pratice would be to use the same name you configured upon installation.

Example:
netbios name = CRAZICODER
-> workgroup = YOUR_WORKGROUP Replace “YOUR_WORKGROUP” with the name of your workgroup,
but make sure you’re using the same as configured in Windows. To find out the Workgroup name in Windows
follow these steps:

– Click “START”
– Click “Control Panel”
– Click “System” – Click the 2nd Tab entitled “Computername” and find the name of the Workgroup there.

Example:
workgroup = MSHOME
-> wins support = yes
If your box doesn’t have a static ip-address, or you cannot configure your router/server to provide you with a
fixed dhcp-lease, change this configuration parameter to “no”. In this case you cannot use the benefits of WINS.

-> [MyFiles]

This is the name of the share. Leave it as it is or adjust it to whatever you prefer. Don’t use more than 31
characters and try to avoid spaces! -> path = /media/samba/ This suggests that you’ve mounted an hard drive or
partition on /media/samba where all the shared files will be stored. In case you don’t have an extra hard drive/partition
you may also create folder.I assume you’ve been wise enough to put /home onto a separate partition having an reasonable
amount of storage space. To create the folder type (inside a new terminal) …

sudo mkdir /home/samba

… and adjust “path =” to read … path = /home/samba/ Remember that this is just an
example – you are free to put things wherever you like.

-> force user = YOUR_USERNAME –
> force group = YOUR_USERNAME

Well, this should say it all. Replace “YOUR_USERNAME” with the name you use for login (no spaces!).

Example:
force user = crazicoder
force group = crazicoder
Now we completed the part of editing smb.conf Save the file and close gedit. Since we are going to share the folder
with other users we should now make sure that the permissions are set. Type:

sudo chmod 0777 /media/samba

NOTE: Don’t forget to correct the path to the location you chose above! That’s it – now we need to start samba.

1.1 Starting samba and setting up user accounts Let us fire up samba for the first time. Type:

sudo /etc/init.d/samba start

There shouldn’t be any errors – if you are presented with an error message make sure everything is correct
(search for typos and/or invalid paths). Time to add yourself as an samba user. NOTE: You will be asked for a password
– make sure you use the same as you use for login!

sudo smbpasswd -L -a your_username
sudo smbpasswd -L -e your_username

Now that we configured samba and created the user accounts we are done with the Linux-part – there’s one more thing to do
in Windows.

2. Changing network settings in Windows Now we should let Windows know that there’s a WINS server active in the network.
If you had to change “wins support” to “no” above skip this step!

– Click “START”
– Click “Control Panel”
– Click “Network Connections”
– Find your “LAN Connection”
– Right-click the icon and select “Properties”
– Select the “TCP/IP” Protocol and click the “Properties” button
– Click “Advanced” – Select the third Tab entitled “WINS”
– Click “Add” – Type in the ip-address of your Linux box
– Click “Add” – Select “Use NetBIOS over TCP/IP”
– Click “OK” – Click “OK”
– Click “OK”

– Reboot Windows Upon reboot you may now map the network drive within Windows.

With WINS enabled: –

Click “START”
– Right-click “My Computer”
– Select “Map network drive”
– Choose the drive letter
– Type \CRAZICODERMyFiles

NOTE: Adjust this to the hostname and sharename you chose above!

– Click “Finish”

With WINS disabled:

– Click “START”
– Right-click “My Computer”
– Select “Map network drive”
– Choose the drive letter
– Type \<ip-address>MyFiles

NOTE: To find out the ip-address of your Linux box type “ifconfig” inside a terminal and find the ip
for the correct interface (i.e. eth0). Don’t forget to adjust the sharename to the name you chose above.

– Click “Finish”
That’s it – samba is up and running now.

3. Security consideration This is the right time to think about security right away. In case your computer
has more than one network connection (i.e. wired and wireless ethernet) you may want to restrict access to samba.
If not especially configured samba will bind its service to all available network interfaces. So,
let us assume you only want your wired network to have access and that the network card is called eth0.
Add the following lines to the [general] section of your smb.conf to achieve that goal:

interfaces = lo, eth0
bind interfaces only = true

If you did it correctly it should look similar to this:

[CODE Start]
[global]
; General server settings
netbios name = YOUR_HOSTNAME
server string =
workgroup = YOUR_WORKGROUP
announce version = 5.0
socket options = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192
interfaces = lo, eth0
bind interfaces only = true

[CODE End]

Now only the local loopback interface (dubbed “lo”) and eth0 are able to access samba – there’s no need to
fear that someone might break into your system by wireless as the interface isn’t bound to the service.

[Main Source]

Ekushey Fonts for Ubuntu


I’ve been using the Unicode based Bengali fonts of Ekushey for a long time, specially SolaimanLipi which I use almost everywhere. To make these fine fonts easily available on Ubuntu, I’ve made a package of all of them called ttf-ekushey. Users of Ubuntu derivatives such as Linux Mint can use this package too.

Font list:

  1. SolaimanLipi
  2. Rupali
  3. Ekushey Lohit
  4. Ekushey Sharifa
  5. Ekushey Punarbhaba
  6. Ekushey Sumit
  7. Ekushey Durga
  8. Ekushey Saraswati
  9. Ekushey Puja
  10. Ekushey Azad
  11. Ekushey Godhuli
  12. Ekushey Mohua

(Twelve for now, but whenever they releases a new font I’ll update my package too.)

Ekushey Fonts for Ubuntu

Installation:

To install this package, you can either download the binary file (MD5: a6cbc1dae63c1cf62c1ff4ef4ab73068) from our Launchpad PPA, or install it via apt-get or your graphical package manager. This method is recommended, as you’ll get notification when an update is available. Here’s how to do it via apt-get:

1. Open the apt sources.list file from the run command dialogue box (ALT+F2):

gksudo gedit /etc/apt/sources.list (Ubuntu)

kdesudo kate /etc/apt/sources.list (Kubuntu)

gksudo mousepad /etc/apt/sources.list (Xubuntu)

2. Add the following line on the bottom of the file:

deb http://ppa.launchpad.net/ubuntu-bd/ubuntu intrepid main

3. Open a shell window and type:

sudo apt-get update

4. When the update is completed, type:

sudo apt-get install ttf-ekushey

When you see the warning message “The following packages cannot be authenticated!”, press y to continue.

5. Done, now you can use the Ekushey fonts on your system!

I’ll try to get this package into the Ubuntu repository, and possibly into the Debian repository as well.

Hope this is helpful to you guys.

Run two dropbox account at a time on Ubuntu


I started from a position of having a working first account (mine).

First step is to move the existing account, and get it working …

So you can probably replace “me” and “other” in the commands below with “personal” and “business” or whatever you want to call them.

1] Stop the existing dropbox daemon running.

2] rename existing account .dropbox folder

Code:
mv ~/.dropbox ~/.dropbox-me

3] create a new bash script ‘start-dropbox-me.sh’, containing the following:

Code:
#!/bin/bash
HOME=/home/me/.dropbox-me /home/me/.dropbox-dist/dropbox start -i

Note that I found that pointing to /home/me/.dropbox-dist/dropbox made the difference – using the one in /usr/bin caused the same error you are seeing. I’m not really sure why, I was just experimenting and it worked.

4] and make it runnable:

Code:
chmod 775 start-dropbox-me.sh

5] use “system->preferences->startup applications” to add this script as a startup application. (actually, I edited the existing dropbox startup application to point at this script).

I now had a running dropbox after restart (or just running the bash script).

Second step is to configure the new account (for “other”):

6] create a new bash script ‘start-dropbox-other.sh’, containing the following:

Code:
#!/bin/bash
HOME=/home/me/.dropbox-other /home/me/.dropbox-dist/dropbox start -i

7] and make it runnable:

Code:
chmod 775 start-dropbox-other.sh

8] run this script, and follow usual registration (or existing account) process, to get it configured. Using a different location that the first account.

[at this point I had two working dropbox accounts]

9] use “system->preferences->startup applications” to add this other script as a startup application.

Restarted the PC and it all came back with the two dropbox Icons on the panel, etc.

Hope this works for you.

How to Cross Compiling with codeblocks using linux


The following is how I did this on Ubuntu ‘Precise Pangolin’ Linux:

Step 1:

Install MingW32 for linux

Code:
# sudo apt-get install mingw32

Step 2:

Settings->Compiler and debugger settings

Code:
 Select GNU GCC Compiler and click the Copy button.
 Name this: MingW32 Compiler

Step 3:

Click the Compiler tab and then click the #defines tab.
Add the following:

Code:
  WINVER=0x0400
  __WIN95__
  __GNUWIN32__
  STRICT
  HAVE_W32API_H
  __WXMSW__
  __WINDOWS__

Click the Linker tab and the following under “Other Linker Options”:

Code:
-lstdc++
-lgcc
-lodbc32
-lwsock32
-lwinspool
-lwinmm
-lshell32
-lcomctl32
-lctl3d32
-lodbc32
-ladvapi32
-lodbc32
-lwsock32
-lopengl32
-lglu32
-lole32
-loleaut32
-luuid

*Note: Not all of these are REQUIRED… As I have been recently messing with compiling apps for windows with ogl and dx9 support I have realized that there are some additions I have needed to add here… I will update accordingly when I know more.

Step 4:

Click the Directories tab and the Compiler tab.

Code:
 Modify the path to read the following (where ix86 is your architecture type):
 /usr/i586-mingw32msvc/include

Click the Directories tab and the Linker tab:

Code:
 Modify the path to read the following (where ix86 is your architecture type):
 /usr/i586-mingw32msvc/lib

Click the Directories tab and the Resource Compiler tab:

Code:
 Modify the path to read the following (where ix86 is your architecture type):
 /usr/i586-mingw32msvc/include

Step 5:

Click the Programs tab:

Code:
 C compiler: i586-mingw32msvc-gcc
 C++ compiler: i586-mingw32msvc-g++
 Linker for dynamic libs: i586-mingw32msvc-g++
 Linker for static libs: i586-mingw32msvc-ar
 Debugger: i586-mingw32msvc-gdb    **** MORE ON THIS LATER ****

Click OK and save your changes.

Step 6:

Ubuntu’s mingw32 package and from what I can tell, MingW32 in general doesnt really have a solid gdb option for debugging natively in linux so we’re going to work around this using wine and mingw32’s latest insight build for windows

Install Wine

Code:

# sudo apt-get install wine

Step 7:

Download Insight here:

Code:
http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82725&release_id=371590

http://sourceforge.net/project/showfiles.php?group_id=2435&package_id=82725&release_id=371590

Step 8:

Once you download insight.exe, extract the archive using wine:

Code:
wine insight.exe

I extracted this to my desktop

Step 9:

Move the insight folder to /opt

the path should now look like

Code:
/opt/insight/bin/gdb.exe

Step 10:

create a shell script in /usr/bin:

(note: shell scripts should start with a hash (#) bang (!), ie: “# ! / bin / sh ” [with no spaces] but when I add that the forum post tanks)

Code:
# sudo gedit /usr/bin/i586-mingw32msvc-gdb

and add the following:

Code:
wine /opt/insight/bin/gdb.exe "$@"

Save the file and quit gedit

Step 11:

Code:
# sudo chmod +x /usr/bin/i586-mingw32msvc-gdb

Now we have a way to execute the windows version of mingw32’s gdb for windows in linux using our shell script wrapper

Step 12:

Create a new console application project in Codeblocks…

Using the wizard select the MingW32 Compiler option.

Step 13:

Right click the project and go to properties. Click the Targets tab and set the Output Filename to be whatever you want with a .exe file extension. Make sure the Type is a Console Application.

Step 14:

Hit F9 in codeblocks and the hello world application runs!! YAY!

Set a breakpoint on line 5 and hit F8 and the application breaks in the debugger!! Woot!

Now you can successfully compile, execute, and debug windows applications in linux using codeblocks!!!

Source post:  Click here

(C/C++) How to make windows executable file(.exe) from GNU/Linux


To make windows executable file(.exe) from GNU/Linux you need a Cross-Compiler named ” mingw32

  • Installation

If you using Ubuntu  then install “mingw32".You can install it many ways but if you are lazy as like me then you can use terminal.Give this command on terminal.

sudo  apt-get  install  mingw32

Replace “apt-get” with “yum” or whatever your linux distro uses.

 

To compile C  source code give below command on terminal

i586-mingw32msvc-cc  main.c  -o  main.exe

here main.c is your c source file and main.exe is you desire .exe file name.

To compile C ++  source code give below command on terminal

i586-mingw32msvc-c++  clock.cpp  -o  clock.exe

here clock.cpp  is your c++ source file and clock.exe is you desire .exe file name.

Now you can run those main.exe and clock.exe on Windows OS. if you want to run those .exe file on linux you need wine or  other software that can run windows executable file. I prefer to use wine its  free.

to install wine on Ubuntu give this command on terminal

sudo  apt-get  install  wine

Replace “apt-get” with “yum” or whatever your linux distro uses.

now type on terminal

wine  main.exe