Mostrando entradas con la etiqueta debian. Mostrar todas las entradas
Mostrando entradas con la etiqueta debian. Mostrar todas las entradas

viernes, 1 de diciembre de 2017

Environment-modules

Environment-modules

Installation

It is possible that environment-modules is in your package manager. In debian based OS just look for the package
aptitude search environment modules
# or
# apt-cache search environment modules
It actually finds one package called environment-modules. You can install it in Debian based OS with
sudo aptitude install environment-modules
# or
# apt-get install environment-modules
After the installation, there is some automatic configuration to do
add.modules
It will ask to confirm the modifications (by default is yes)
/usr/bin/add.modules
    adds a few lines to the beginning of your
    /home/maikel/.cshrc, /home/maikel/.login,
    /home/maikel/.profile, /home/maikel/.bashrc, and
    possibly your /home/maikel/.kshenv (or whatever is
    specified by the ENV environment variable).
    The lines are prepended for sourcing the /etc/csh.modules or
    /etc/profile.modules files or to define the module alias or function.
    Why is it necessary?
    To insure that you will have access to modules for all subshells,
    these lines need to be added to some of your 'dot' files.

    Your old .cshrc, .login, .profile, .bashrc and .kshenv will be
    renamed to .login.old, .cshrc.old, .profile.old, .bashrc.old and
    .kshenv.old respectively.  So if you have any problems you will
    can easily restore them.

    This is version $Id: 196cf1d4fbd7d3deecf648e85ee37ead75a60a93 $ .

Continue on (type n for no - default=yes)?\c


Processing your .profile (your old one is .profile.old)
Cleaning .profile
Adding sourcing lines at beginning of .profile

Processing your .bashrc (your old one is .bashrc.old)
Cleaning .bashrc
Adding alias or function lines at beginning of .bashrc
You had no .kshenv as I see it.  Copying /etc/skel/.kshenv for you.
/bin/cp: cannot stat ‘/etc/skel/.kshenv’: No such file or directory
You had no .login as I see it.  Copying /etc/skel/.login for you.
/bin/cp: cannot stat ‘/etc/skel/.login’: No such file or directory
You had no .cshrc as I see it.  Copying /etc/skel/.cshrc for you.
/bin/cp: cannot stat ‘/etc/skel/.cshrc’: No such file or directory
Now, load the changes made into your .bashrc or own shell configuration file
source ~/.bashrc
Now, create and register the folder where all the modules will be specified
mkdir ~/modulefiles
module use ~/modulefiles
Test that it is working by calling
module avail
You should not see any error.

Creating your own modulefile

You can customize your own environment by creating and loading your own modulefiles. To use your own modulefiles you must first create a directory for them, register that directory and create the file. Here is a step by step example: Create and register the directory
mkdir ~/modulefiles
module use ~/modulefiles
This adds your newly created directory to the MODULEPATH environment variable and makes the files you place in there visible to the loader. Add the 'module use' directive to .profile or .bashrc depending on the file you use to initialize the module package. Create the modulefile Use this file as an example. The content is discussed below.
#%Module1.0####################################################################
##
##  mymodule modulefile
##
##  My new module that sets my personal environment
##
proc ModulesHelp { } {
        puts stderr "\tAdds my personal stuff to the environment."
}

## Create a whatis file.  Not nessecary but cool.
module-whatis   "Adds my own personal links, aliases and paths"

## Set a few personal aliases
set-alias       "ll"    "ls -al"

## Add my bin directory to the path
append-path     PATH    ~/bin

## Set an environment variable
setenv          MY_VAR  "hello"

Explanation

Line 1: This line contains the syntax version that is used. Line 2-6: Comments Line 7-9: This is optional. This prints a module specific help when used with the 'module help' command. Line 12: This command sets an alias. Line 15: This command appends ~/bin to your PATH environment variable. You can also use prepend-path Line 18: Create and set a new environment variable.

References

  • 2
  • http://modules.sourceforge.net/
  • http://www.admin-magazine.com/HPC/Articles/Environment-Modules
  • https://www.nersc.gov/users/software/nersc-user-environment/modules/

miércoles, 8 de febrero de 2017

Opening Java GUIs on the Awesome Window Manager (e.g. Matlab)

It seems that opening Matlab, Maple, and other programs that rellie in a Java GUI do not work properly when using the Awesome Window Manager. In all the cases the window is not loaded and a grey square is shown instead.

The problem seems to be that the Java Virtual Machine does not recognise this desktop when checking the system environment.

To solve the problem it is only necessary to change the appropriate environment variables to a known environment (e.g. LG3D). This can be achieved by installing `wmname` and running

wname LG3D 

just before opening any of the applications.

source: https://kb.wisc.edu/cae/page.php?id=30963

jueves, 12 de enero de 2017

Add custom resolution to xrandr

Sometimes xrandr does not show one of the resolutions that is accepted by both the graphic card and the connected screen. If that is the case, it is still possible to add manually the required resolutions by using the following steps:

First we need to calculate the VESA Coordinated Video Timing modes for the required resolution. For example, for a monitor 1680x1050 and 60Hz
cvt 1680 1050 60
This will output the following
# 1680x1050 59.95 Hz (CVT 1.76MA) hsync: 65.29 kHz; pclk: 146.25 MHz
Modeline "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
Now we add the specified CVT to xrandr. Using the previous example
sudo xrandr --newmode "1680x1050_60.00"  146.25  1680 1784 1960 2240  1050 1053 1059 1089 -hsync +vsync
This will create a Virtual screen in xrandr. Now it is possible to add this resolution to any of the screens listen in xrandr. For example to add this resolution to VGA1
sudo xrandr --addmode VGA1 1680x1050_60.00
Finally, to assign this resolution to the screen VGA1 we can run
xrandr --output VGA1 --mode 1680x1050_60.00
source : http://askubuntu.com/questions/377937/how-to-set-a-custom-resolution

jueves, 17 de marzo de 2016

SSD usage in Linux

This are some essential points to consider if you want to use an SSD hard drive in a Linux system.


1. Get enough RAM
2. Avoid using SWAP

If you want to use the option of hibernating, then set the swapines to zero. But try to avoid hibernation.

echo -e "vm.swappiness=0" | sudo tee -a /etc/sysctl.conf

3. Disable acces time logging

in your /etc/fstab file add the option "noatime" in every partition of your SSD drive. For example, change every “errors=remount-ro” to “noatime,errors=remount-ro”

4. Run fstrim every day

It will prevent your SSD from slowing down. You can use cron to run this program automatically in the background every day.

echo -e "#\x21/bin/sh\\nfstrim -v /" | sudo tee /etc/cron.daily/trim
sudo chmod +x /etc/cron.daily/trim

5. Monitor your SSD using S.M.A.R.T.

Check once in a while that the Media_Wearout_Indicator value of your SSD is not lower than 10 (it starts with a value of 100).

sudo smartctl -data -A /dev/sda

source: https://www.leaseweb.com/labs/2013/07/5-crucial-optimizations-for-ssd-usage-in-ubuntu-linux/

sábado, 14 de febrero de 2015

Remove orphan packages in Debian

deborphan is a program that finds orphan packages and just lists them. It has other options but I am not explaining them here.


In Debian it can be installed just with:

sudo aptitude install deborphan

or

sudo apt-get install deborphan

Then, just run the program to print the list of orphan packages. It does not need root privileges as it only prints out the name of the packages.

deborphane

 Then it is up to you if you want to remove everything or just some of the packages. I am not completly sure if it is safe to remove all of them, read more in the original source.

If you want to remove one of them just use your package manager to remove them as usual:

sudo aptitude remove 'the_name_of_the_package'

Or use "purge" instead of remove to clean completly the package with all its configuration files.

source: https://www.debian-administration.org/article/134/Removing_unnecessary_packages_with_deborphan

martes, 2 de septiembre de 2014

Change aptitude upgrade folder

To change the default folder where temporal files are stored when doing an aptitude upgrade just create one folder /apt/partial in some specific place:

 mkdir -p /some/path/apt/partial 

And then modify or create the file /etc/apt/apt.conf and add this line:

 dir::cache::archives "/some/path/apt"; 

source : http://ostico.it/content/linux/aptitude/how-change-default-aptitude-download-directory

miércoles, 26 de septiembre de 2012

Iconos del panel de gnome en movimiento

Ya me ha ocurrido varias veces que el panel superior de gnome; aun teniendo todos los iconos bloqueados; de vez en cuando me los desordenaba. Puede ser que fuera al cambiar la resolución de la pantalla, o al tener un monitor suplementario conectado al portatil.

Por lo que he visto buscando información, este problema fué solucionado en la ultima versión del panel, cuando este fue portado a GTK3, pero no se ha solucionado para las versiones antiguas. Así que he encontrado un script que hizo "bojo42", el qual bloquea el panel entero y lo desbloquea cuando queramos.

Lo suyo es guardar este script en algun lugar (por ejemplo en nuestro home "/home/USER/.gnome2_panel_block_down).
Darle permiso de ejecución.
Añadir en el panel de gnome un lanzador personalizado.
Poner como comando este mismo script.
Una vez hecho esto solo es cuestion de bloquear y desbloquear el panel con un simple click.



#!/bin/sh

### Config
NOTIFY=on #(on/off)
LOCK_TITLE="Panel Lock Down"
LOCK_MSG="Locking the GNOME panel"
UNLOCK_TITLE="Panel Lock Down"
UNLOCK_MSG="Unlocking the GNOME panel"
LOCK_ICON="/usr/share/icons/hicolor/48x48/apps/gdu-encrypted-lock.png"
UNLOCK_ICON="/usr/share/icons/hicolor/48x48/apps/gdu-encrypted-unlock.png"

### Dependency checking
if [ -z "$(which gconftool-2)" ]; then
 if [ -n "$(which gconftool-2)" ]; then
  zenity --warning --text "Error. No binary found for gconftool-2!" --title "Panel Lock Down"
 else
  echo "Panel Lock Down: Error. No binary found for gconftool-2!"
 fi
 exit 1
fi
if [ "$NOTIFY" = "on" ] && [ -z "$(which notify-send)" ]; then
 SCRIPT_LOCATION="$(pwd)/$(basename $0)"
 if [ -n "$(which zenity)" ]; then
  zenity --warning --text "Notifcations failed! Please install the libnotify-bin package or disable notifications in $SCRIPT_LOCATION" --title "Panel Lock Down"
 else
  echo "Panel Lock Down: Notifcations failed! Please install the libnotify-bin package or disable notifications in $SCRIPT_LOCATION"
 fi
 NOTIFY="off"
fi

### Main
if [ "$(gconftool-2 -g /apps/panel/global/locked_down)" = "true" ]; then
 [ "$NOTIFY" = "on" ] && notify-send -i $UNLOCK_ICON "$UNLOCK_TITLE" "$UNLOCK_MSG"
 gconftool-2 -s /apps/panel/global/locked_down --type=bool false
elif [ "$(gconftool-2 -g /apps/panel/global/locked_down)" = "false" ]; then
 [ "$NOTIFY" = "on" ] && notify-send -i $LOCK_ICON "$LOCK_TITLE" "$LOCK_MSG"
 gconftool-2 -s /apps/panel/global/locked_down --type=bool true
else
 if [ -n "$(which zenity)" ]; then
  zenity --warning --text "Error. Undefined state of global panel lock down!" --title "Panel Lock Down"
 else
  echo 'Panel Lock Down: Error. Undefined state of global panel lock down!'
 fi
 exit 1
fi



lunes, 27 de agosto de 2012

Pomorizer


Cuando uno trabaja delante de un ordenador, se hace difícil controlar el tiempo que lleva uno trabajando, y el tiempo que realmente no ha sido productivo por haber mirado e-mails o leyendo alguna noticia interesante. Y más aun si trabajas en casa, y te puedes distribuir el tiempo como te vaya mejor.
Por esa razón, hace ya tiempo que me había planteado usar algun tipo de programa que me permitiera con un par de botones controlar este tiempo, y de este modo me puse a buscar algo de información. Buscando encontré una técnica de administrar el tiempo de trabajo (o estudio) llamado Técnica Pomodoro ( "The Pomodoros Technique" ), la cual recomienda plantear-se trabajar 25 minutos seguidos sin ninguna distracción, y todo seguido tomarse 5 minutos de descanso. Esto, a demás de servir para descansar y mirar algo que te guste, sirve para despejar la mente, ya que en ocasiones se cree que se esta haciendo algo bien pero realmente se debería hacer de otro modo. Este tipo de descansos pueden ayudarte a no cometer algunos de estos errores.
Así que me he puesto a buscar algún programa sencillo con el objetivo que he comentado, y me he encontrado con algunas aplicaciones, que no me han convencido. Incluso para Android, las cuales me han parecido interesantes, pero la verdad es que teniendo el ordenador, prefiero verlo en la pantalla con un simple click.
Pues bueno, al final he decidido programarme mi propio Pomorizer, con QT y Python (ya que los estoy usando para el trabajo, y ahora mismo lo tengo fresco).
La aplicación es sencillamente un campo para introducir la cuenta atras (por ejemplo 25 minutos), un botón para empezar la cuenta atrás, o pausar-la. Un botón para resetearlo todo. Un display con el tiempo restante, una barra que va aumentando al acercarse al cero. Y al final unas pequeñas casillas para marcar cuantas veces llevamos realizando la cuenta atrás de 25 minutos (se que se puede hacer de otro modo, pero el hecho de hacer "tic" con el ratón a una casilla más me reconforta).
Bueno, dejo unas imágenes del programa, y el código ya veré si lo pongo si tengo un momento, o si por casualidad lo pidiera alguien (xDDD, algo que no creo que ocurra, ya que este Blog lo uso para apuntar mis problemas y soluciones).

martes, 5 de junio de 2012

Instalación de Asterisk en servidor Debian


Asterisk es un programa que permite convertir un ordenador en un servidor de llamadas telefónicas. A parte de hacer de centralita telefónica convencional podremos crear nuestras extensiones y/o cuentas VoIP para hablar con cualquier dispositivo que soporte esta tecnología.

En este momento me disponía a instalar-lo en un servidor Debian así que aprovecho para ir haciendo un tutorial de lo que he ido haciendo.

Primero de todo he actualizado el sistema mediante:


$sudo apt-get update
$sudo apt-get upgrade

Todo seguido he buscado que paquetes existian en los repositorios relacionados con Asterisk:

$apt-cache search asterisk

Observamos que hay varios paquetes para tener voces en distintos idiomas, interficies python para controlar Asterisk, librerias de desarroyo, y lo que me interesa ahora mismo a mi

asterisk - Open Source Private Branch Exchange (PBX)

así que lo instalamos:

$sudo apt-get install asterisk

Nos pedirá que si queremos instalar algunos paquetes, le decimos que sí.

Ahora en la instalación lo primero que nos pide és que le indiquemos el codigo numerico de nuestra region (en España es 34).

Al finalizar de instalar vemos que ha creado un usuario llamado asterisk al sistema, y lo ha añadido a los grupos 'dialout' y 'audio'.

Luego arranca automaticamente el servicio:

Starting Asterisk PBX: asterisk.

podemos comprobar que hay dos nuevos procesos en ejecución:

$ps aux | grep asterisk

Instalación de FreePBX en servidor Debian

FreePBX és una Interfaz Grafica de Usuario (GUI en inglés) con la que podremos configurar facilmente un servidor con Asterisk.

Primero de todo debemos tener instalado Asterisk en el servidor (podeis ver como se instala en otra publicación).

Una vez instalado Asterisk procedemos a hacer lo siguiente:
Primero le diremos a Asterisk que queremos crear un usuario para que pueda administrar-lo, así que entraremos en un directorio de configuracion de asterisk y haremos lo siguiente:

$cd /etc/asterisk/

En principio podriamos añadir el usuario al final del fichero manager.conf, pero viendo-lo por dentro me he fijado que importa todos los ficheros de configuración de /etc/asterisk/manager.d/*.conf, por lo tanto creamos un fichero nuevo (yo uso el editor vim, usad el que os plazca)

$sudo vim /etc/asterisk/manager.d/user.conf

y le añadimos lo siguiente:

[nombre_de_usuario]
secret=contraseña_para_usuario
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read=system,call,log,verbose,command,agent,user
write=system,call,log,verbose,command,agent,user

Nos descargaremos las fuentes de la pagina oficial de freePBX (en este caso las dejo en /usr/src/)

$cd /usr/src
$sudo wget http://mirror.freepbx.org/freepbx-2.9.0.tar.gz

Una vez descargado vamos a descomprimir el paquete:

$sudo tar zxvf freepbx-2.9.0.tar.gz freepbx-2.9.0/

Esto nos habrá creado una carpeta, entramos en ésta y antes de nada deberiamos preparar un poco el entorno.
Primero deberiamos crear dos bases de datos en nuestro servidor MySQL (recomendaria que en vez de usar el usuari o root de la base de datos MySQL se creara un usuario especifico para Asterisk que solo tubiera permisos para tocar las bases de datos que vamos a realizar; en esta guia uso a root):

$mysql -u root -p

Introducimos el password de root y una vez en la consola de MySQL ejecutamos dos acciones:

create database asterisk;
create database asteriskcdrdb;
exit;

Ahora las completamos con dos codigos que estan en la carpeta SQL del directorio en el que hemos descomprimido el freepbx:

$mysql -u root -p asterisk < SQL/newinstall.sql

$mysql -u root -p asterisk < SQL/cdr_mysql_table.sql

ejecutamos los dos scripts:

$cd /freepbx-2.9.0
$sudo ./start_asterisk start
$sudo ./install_amp

En mi caso me dice que ya tenia Asterisk en ejecución pero que necesito tener PEAR DB así que instalo un par de paquetes para poder hacer el ./install_amp:

$sudo apt-get install php-pear php-db

Ahora si que me permite realizar la instalación así que repetimos:

$sudo ./install_amp

ahora os pedirá bastante información, vigilad que sea la hayas puesto en los pasos anteriores:

Enter your USERNAME to connect to the ‘asterisk’ database: root
Enter your PASSWORD to connect to the ‘asterisk’ database: < type MySQL’s root password >
Enter the hostname of the ‘asterisk’ database: < aprieta intro o escrive ‘localhost’ >
Enter a USERNAME to connect to the Asterisk Manager interface: < aqui ponemos el usuario que hemos puesto en el fichero /etc/asterisk/manager.d/user.conf >
Enter a PASSWORD to connect to the Asterisk Manager interface: < aqui ponemos el password que hemos puesto en el fichero /etc/asterisk/manager.d/user.conf >
Enter the path to use for your AMP web root: /var/www
Enter the IP ADDRESS or hostname used to access the AMP web-admin: < Indicad la IP del servidor que esta corriendo Asterisk, en mi caso es la misma maquina, pues pongo su IP >
Enter a PASSWORD to perform call transfers with the Flash Operator Panel: < dejamos el password por defecto passw0rd dandole al intro >
Use simple Extensions [extensions] admin or separate Devices and Users [deviceanduser]? < Aqui especificamos si cada extension que creamos corresponderá a un usuario en concreto 'extensions' o si por lo contrario se assignaran dinamicamente al conectar-se (por defecto si le dais a intro os pondrá 'extensions') >
Enter directory in which to store AMP executable scripts: < confirmar el directorio por defecto /var/lib/asterisk/bin dandole al intro >
Enter directory in which to store super-user scripts: < confirmar el directorio por defecto /usr/local/sbin dandole al intro >

Si al instalar aparece el error

Cannot redeclare __parse_dialrulesfile

repetid la instalación con el comando

$sudo ./install_amp

No me ha ocurrido pero indican que es un error conocido (al menos en una version antigua).

Lo que si que me ha ocurrido es que haya tenido que cancelar la instalacion, y al volver a instalar no me permita hacer nada porque el fichero de configuración está a medias, lo que he echo en ese caso es eliminar el fichero /etc/amportal.conf
puede que ahora si que os deje volver a instalar.

Ahora podremos entrar a la pagina web que nos ha creado freePBX.
Podria ser que el usuario www-data (el usuario por defecto de Apache) no tenga permisos para consultar los ficheros del grupo Asterisk, por lo que no podrés acceder correctamente a la pagina web. Así que dar los permisos oportunos, en mi caso:

$sudo adduser www-data asterisk

Y reiniciamos Apache

$sudo /etc/init.d/apache restart

Ahora debería cargar todo perfectamente.
Una vez dentro nos aparecen tres opciones, entraremos en FreePBX Administration, que nos pedirá un usuario y contraseña:

admin
admin

Una vez dentro vereis un cartelito naranja indicando que hay cambios en la configuración, así que si lo apretais se aplicarán.

Ahora deberiamos cambiar el nombre y contraseña del usuario admin, para esto ir a Setup -> Administrators, seleccionar a la derecha el usuario admin y poner el nombre i contraseña deseado. Luego picar abajo en Submit Changes.