Category: Linux


Fedora 15 Gnome 3 show date

In gnome 3 for some reason they only show the time in the panel

if you want the date also

gsettings set  org.gnome.shell.clock show-date true



Fedora 15 Logitech Dinovo Edge

This worked for me out of the box, however if it does not work for you

Try following this post Fedora 13 / 14 Logitech Dinovo Edge

I chose the incorrect layout,
since gnome 3 no longer controls keyboard layout you have to set it in xorg configuration

cat /etc/X11/xorg.conf.d/00-system-setup-keyboard.conf
# This file is autogenerated by system-setup-keyboard. Any
# modifications will be lost.

Section "InputClass"
	Identifier	"system-setup-keyboard"
	MatchIsKeyboard	"on"
	Option		"XkbModel"	"pc105+inet"
	Option		"XkbLayout"	"us"
#	Option		"XkbVariant"	"(null)"
	Option		"XkbOptions"	"terminate:ctrl_alt_bksp,"
EndSection

A list of keyboard layouts

Wikipedia Keybaord Layouts

17.1.18. /etc/sysconfig/keyboard
The /etc/sysconfig/keyboard file controls the behavior of the keyboard.

The following values may be used:
KEYBOARDTYPE=”sun|pc” where sun means a Sun keyboard is attached on /dev/kbd, or pc means a PS/2 keyboard connected to a PS/2 port.
KEYTABLE=”“, where is the name of a keytable file.

For example: KEYTABLE=”us”.

The files that can be used as keytables start in /lib/kbd/keymaps/i386 and branch into different keyboard layouts from there,
all labeled .kmap.gz.

The first file found beneath /lib/kbd/keymaps/i386 that matches the KEYTABLE setting is used.

Console keymap is controller by grub

/boot/grub/menu.lst
kernel /vmlinuz-2.6.38.2-9.fc15.x86_64 ro root=UUID=553d29bd-4b1c-427d-8624-8ad53821f217 rd_DM_UUID=sil_bgaiahccahbc rd_NO_LUKS rd_NO_LVM rd_NO_MD LANG=en_US.UTF-8 SYSFONT=latarcyrheb-sun16 KEYTABLE=uk rhgb

Fedora 15, 16 pulseaudio m-audio audiophile 2496

Same old trick to this one

1. Edit the pulse rules

sudo gedit /lib/udev/rules.d/90-pulseaudio.rules

add the following line

SUBSYSTEMS=="pci", ATTRS{vendor}=="0x1412", ATTRS{device}=="0x1712", ATTRS{subsystem_vendor}=="0x1412",
ATTRS{subsystem_device}=="0xd634", ENV{PULSE_PROFILE_SET}="m_audio-audiophile-2496.conf"

2. Create the following file

sudo gedit /usr/share/pulseaudio/alsa-mixer/profile-sets/m_audio-audiophile-2496.conf
# This file is part of PulseAudio.
#
# PulseAudio is free software; you can redistribute it and/or modify
# it under the terms of the GNU Lesser General Public License as
# published by the Free Software Foundation; either version 2.1 of the
# License, or (at your option) any later version.
#
# PulseAudio is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public License
# along with PulseAudio; if not, write to the Free Software Foundation,
# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.

; M-Audio Delta Audiophile 2496
;
; This card, based on the Via ICE1712 chipset, has two stereo audio channels
; (1 in and 1 out) and a separate S/PDIF digital stereo channel. Like with
; all ICE1712-based cards, this is exposed by ALSA as a single 10-channel
; device with some of the channels not connected.
;
; See default.conf for an explanation on the directives used here.

[General]
auto-profiles = no

[Mapping analog-stereo-in]
description = Analog Stereo Input
device-strings = hw:%f,0
channel-map = front-left,front-right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,aux8,aux9
direction = input

[Mapping analog-stereo-out]
description = Analog Stereo Output
device-strings = hw:%f,0
channel-map = front-left,front-right,aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7
direction = output

[Mapping analog-digital-stereo-out]
description = Analog/Digital Stereo Output
device-strings = hw:%f,0
channel-map = front-left,front-right,aux0,aux1,aux2,aux3,aux4,aux5,front-left,front-right
direction = output

[Mapping digital-stereo-out]
description = Digital Stereo Output
device-strings = hw:%f,0
channel-map = aux0,aux1,aux2,aux3,aux4,aux5,aux6,aux7,front-left,front-right
direction = output

[Mapping digital-stereo-in]
description = Digital Stereo Input
device-strings = hw:%f,0
channel-map = front-left,front-right,front-left,front-right,front-left,front-right,front-left,front-right,front-left,front-right,front-left,front-right
direction = input

[Mapping digital-stereo]
description = Digital Stereo Input/Output
#device-strings = hw:%f,1
device-strings = iec958:%f
channel-map = left,right
direction = any

[Profile output:stereo]
description = Analog Stereo Output
output-mappings = analog-stereo-out
input-mappings =
priority = 80
skip-probe = yes

[Profile output:stereo-da+input:stereo-analog]
description = Analog Stereo Input/Output
output-mappings = analog-stereo-out
input-mappings = analog-stereo-in
priority = 100
skip-probe = yes

[Profile output:stereo-da+input:stereo-analog]
description = Analog Stereo Input/Output, Digital Stereo Output
output-mappings = analog-digital-stereo-out
input-mappings = analog-stereo-in
priority = 90
skip-probe = yes

[Profile output:spdif]
description = Digital Stereo Output (Analog Disabled)
output-mappings = digital-stereo-out
input-mappings =
priority = 60
skip-probe = yes

[Profile output:spdif+input:spdif]
description = Digital Stereo Input/Output (Analog Disabled)
output-mappings = digital-stereo-out
input-mappings = digital-stereo-in
priority = 70
skip-probe = yes

Don’t forget to turn up the device DAC 0,1

optionally, if this setting goes after reboot, make a startup script and put the following into it

amixer -c 0 sset  'DAC',0 100% 100%
amixer -c 0 sset  'DAC',1 100% 100%

Note* -c 0 might change depending on your setup!


Chrome Linux Save Flash Files

So i came across this handy scripts.

As part of some new offensive ;) , or maybe just privacy concerns for the user.
Flash now right after beginning a FLV download
deletes the file from the /tmp directory

As it still has a lock on the file descriptor, it disappears right after the flash player closes.

Let the video finish streaming and then run this script
It will save the deleted flv videos with open file descriptors into the folder where you have run the script.

#!/usr/bin/perl
# Filename:	flashcache
# Author:	David Ljung Madison <DaveSource.com>
# See License:	http://MarginalHacks.com/License/
# Description:	Copy flash files in your browsers cache
# Dependencies:	Unix command 'lsof'
use strict;

##################################################
# Setup the variables
##################################################
my $PROGNAME = $0; $PROGNAME =~ s|.*/||;

my $LSOF = 'lsof';

my $FIND = 'flash';	# Find flash files
my $POST = 'flv';	# Postfix to save to

# Where we save files
#   %f is $FIND
#   %d is the next available number
#   %p is .$POST
my $DEST = "found%f.%d%p";

##################################################
# Usage
##################################################
sub fatal {
	foreach my $msg (@_) { print STDERR "[$PROGNAME] ERROR:  $msg\n"; }
	exit(-1);
}

sub usage {
	foreach my $msg (@_) { print STDERR "ERROR:  $msg\n"; }
	print STDERR <<USAGE;

Usage:\t$PROGNAME [-d]
  Copies deleted flash files currently open in your browser's cache
  -d             Set debug mode
  -find <str>    What to search for  [default $FIND]
  -post <str>    Postfix for saving files [default $POST]
  -dest <str>    Or just specify full destination [default $DEST]
                 (see the script for meanings of %f, %d, %p)

USAGE
	exit -1;
}

sub parseArgs {
	usage("You need to be on a system that uses /proc") unless -d '/proc';

	my $opt = {
		find => $FIND,
		post => $POST,
		dest => $DEST,
	};
	while (my $arg=shift(@ARGV)) {
		if ($arg =~ /^-h$/) { usage(); }
		if ($arg =~ /^-d$/) { $MAIN::DEBUG=1; next; }
		if ($arg =~ /^-find$/) { $opt->{find} = shift(@ARGV); next; }
		if ($arg =~ /^-post$/) { $opt->{post} = shift(@ARGV); next; }
		if ($arg =~ /^-dest$/) { $opt->{dest} = shift(@ARGV); next; }
		if ($arg =~ /^-/) { usage("Unknown option: $arg"); }
		usage("Too many files specified [$arg and $opt->{file}]") if $opt->{file};
	}

	usage("You need to specify a destination with -dest")
		unless $opt->{dest};

	usage("You need to specify something to search for with -find")
		unless $opt->{find};

	$opt;
}

sub debug {
	return unless $MAIN::DEBUG;
	foreach my $msg (@_) { print STDERR "[$PROGNAME] $msg\n"; }
}

##################################################
# Main code
##################################################
sub findFiles {
	my ($opt) = @_;
	my @found;
	# 'lsof /'  (The '/' just does files, no sockets, and is faster)
	open(LSOF,"$LSOF /|") || usage("Can't run [$LSOF]");
	while (<LSOF>) {
		next unless /delete/i;
		next unless /\Q$opt->{find}\E/i;
		chomp;
		# procname  pid  user   fd
		usage("Found it, can't parse it [$_]")
			unless /^\S+\s+(\d+)\s+\S+\s+(\d+)/;
		push(@found, [$1,$2]);
	}
	usage("Couldn't find any deleted cached $opt->{find} files")
		unless @found;
	@found;
}

sub procPath {
	my ($pid,$fd) = @_;
	my $path = "/proc/$pid";
	usage("Couldn't find $path") unless -d $path;
	$path .= '/fd';
	usage("Couldn't find $path") unless -d $path;
	$path .= "/$fd";
	usage("Couldn't read $path") unless -e $path;
	$path;
}

sub destPath {
	my ($opt) = @_;
	my $p = $opt->{dest};
	$p =~ s/%f/\Q$opt->{find}\E/g;
	$p =~ s/%p/.\Q$opt->{post}\E/g;
	my $num = 0;
	my $path;
	do {
		$path = $p;  $num++;
		$path =~ s/%d/$num/g;
	} until ! -f $path;
	$path;
}

sub main {
	my $opt = parseArgs();

	my @found = findFiles($opt);
	foreach my $found ( @found ) {
		my $src = procPath(@$found);
		my $dest = destPath($opt);
		print "$src -> $dest\n";
		system("/bin/cp",$src,$dest);
	}
}
main();

Ubuntu 10.4 / Fedora 13 Vmware Workstation 7

After much scouring the web i eventually found a fix for vmware workstation 7 on Ubuntu 10.4
Follow these to the T. and you should have no problem compiling vmware modules.

1. Switch to your temp directory

cd /tmp

2. Extract the vmware net source module

]tar xf /usr/lib/vmware/modules/source/vmnet.tar

3. Add #include “compat_sched.h” under the first set of includes

 gksudo gedit vmnet-only/vnetUserListener.c

4. Compress and save the source back to the original location

tar cf /usr/lib/vmware/modules/source/vmnet.tar vmnet-only

5. Extract Virtual Machine Communication Interface

tar xf /usr/lib/vmware/modules/source/vmci.tar

6. Add #include “compat_sched.h” under the first set of includes

gksudo gedit vmci-only/linux/vmciKernelIf.c

7. Add #include “compat_sched.h” under the first set of includes

gksudo gedit vmci-only/include/pgtbl.h

8. Compress and save the source back to the original location

tar cf /usr/lib/vmware/modules/source/vmci.tar vmci-only

9. Finally recompile the vmware modules

sudo vmware-modconfig --console --install-all

..