LinuxQuestions.org
Latest LQ Deal: Latest LQ Deals
Go Back   LinuxQuestions.org > Forums > Linux Forums > Linux - Software
User Name
Password
Linux - Software This forum is for Software issues.
Having a problem installing a new program? Want to know which application is best for the job? Post your question in this forum.

Notices


Reply
  Search this Thread
Old 10-17-2010, 10:42 PM   #1
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Rep: Reputation: 2
Shell script super thread!


Code:
#!/bin/bash

EXT=(*.flv *.mp* *.mkv)

for i in "${EXT[@]}"; do ffmpeg -i "$i" -acodec ac3 -ab 128k -vcodec libx264 -vpre hq -profile high -preset veryslow -crf 15 -threads 2 ${i%.*}.mkv";done

exit 0
Edit 1

Audio bit rate changed to 128k because 96k produced some bad results. libfaac changed to ac3 do to libfaac making a binary that can not be re-distrobuted, and changed the format to mkv instead of mp4 because it is more versitile. This will create files with h.264 and ac3 in one mkv file. video preset changed to medium because normal does not exist.

Edit 2

Changed crf to 15 because 22 produced some low quality picture. Also use the -tune option for specific types of media so that compression and quality will be better. -tune animation for animation, -tune grain for grainy sources, and -tune film for basically film that is not grainy nor animation. Some of these options should be changed to fit specific needs.

Last edited by darkstarbyte; 02-01-2012 at 09:10 PM.
 
Old 10-18-2010, 04:31 AM   #2
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
You mean for encoding videos ? I wrote a short guide for Xvid/mp3/avi and x264/aac/mkv:
http://draconishinobi.50webs.com/linux/encoding.html

So:
Code:
ffmpeg -i input.mkv -vcodec libx264 -vpre special -crf 15 -s 704x396 -aspect 16:9 -r 23.976 -threads 4 -acodec libfaac -ab 128k -ar 48000 -async 48000 -ac 2 -scodec copy output.mkv
I recommend you try the preset I wrote (see site).
 
Old 10-26-2010, 04:02 PM   #3
Reuti
Senior Member
 
Registered: Dec 2004
Location: Marburg, Germany
Distribution: openSUSE 15.2
Posts: 1,339

Rep: Reputation: 260Reputation: 260Reputation: 260
Hi, with

EXT=(*.flv *.mp* *.mkv)

you will define an array and any reference to it with a plain $EXT will only list the first element, the "*.flv". To expand it for your "for loop" to all elements in the array, it must be referenced as:

for i in ${EXT[*]}; do ...

-- Reuti
 
Old 12-18-2010, 11:59 PM   #4
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
Cool

I found this nice shell script for Gentoo that installs winff. This is a nice solution.

Here is the link here.

It may not be the most elegant solution, but I think it will work.

Code:
echo dev-lang/lazarus >> /etc/portage/package.keywords
echo dev-lang/fpc source >> /etc/portage/package.use
echo media-video/ffmpeg mp3 encode faac x264 xvid >> /etc/portage/package.use
emerge -av lazarus

wget http://winff.googlecode.com/files/winff-1.3.1-source.tar.gz
tar xfz winff-1.3.1-source.tar.gz
cd winff
lazbuild winff.lpi

sed -i 's/\(-ab [0-9]*k\)b/\1/g' presets.xml
sed -i 's/\(-vcodec libx264\)/\1 -vpre medium/g' presets.xml
#Note, if you first ran winff, then ~/.winff/presets.xml is used

install -d /usr/share/winff
install -t /usr/share/winff presets.xml
install -s -t /usr/bin winff

install -t /usr/share/applications winff.desktop
for a in winff-icons/*x*/; do install -t /usr/share/icons/hicolor/$(basename
$a)/apps $a/winff.png; done
You should keep in mind that third party scripts can break portage.

Last edited by darkstarbyte; 07-13-2011 at 04:33 PM. Reason: I had to add the shell script.
 
Old 12-28-2010, 06:11 AM   #5
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
I am half asleep and I need help with this shell script.

Code:
#!/bin/bash

# Writen by darkstarbyte and catkin for Gentoo. Date 12-28-10
# You will have to run this as root.
# This shell script is ment to compile a vanilla kernel on Genoo.

# This version is now outdated as of 1-jan-11

# This is my first shell script and I am very tired...

# Also this is written by anyone else who would kindly help.
# If you do help, tell me the name you would like to be listed as.

echo "Welcome to the Gentoo vanilla kernel builder";

echo  >> web_temp_for_vanilla.sh_temp;

while_line=5

echo "If you say yes you will be presented with a list of kernel options.(y,n)";
while read answer
do	# darkstarbyte 12-30-10 this whole line.
{	# darkstarbyte 12-30-10 this whole line.
if [ $answer = y ] # added spaces in between r, =, and ] #catkin      #12-29-10
then
exit
# I was hoping this would exit this loop.
elif [ $answer = n ] # added spacing with r, =, and ] # catkin       #12-29-10 catkin edit.
then
exit
exit
# I was hoping this would exit the script.
else
echo "Try again."
fi
{	# darkstarbyte 12-30-10 this whole line.

while $while_line = 5 # added spaces between e, =, and 5 #catkin #12-29-10
do
{	# darkstarbyte 12-30-10 this whole line.
wget --tries=2 --output-document=web_temp_for_vanilla.sh_temp http://www.kernel.org
echo hit q to quit.
# I was hoping this would not do anything until the user hits enter.
cat web | less
echo "If you would like to continue type y, if you would like to take another look at the web page then type n"; # this should not have    # been separated by enter echo just before these comments.           # darkstarbyte 12-29-10
do
read
answer
if [ answer = y ] # spacing in between r, =, and y #catkin 12-29-10
then
cat web_temp_for_vanilla.sh_temp | less
else
exit
}	# darkstarbyte 12-30-10 this whole line.

rm web_temp_for_vanilla.sh_temp

echo "What kernel version do you want?";
read version
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-$version.tar.bz2
tar -jxvf linux-$version.tar.bz2 -C /usr/src/
cd /usr/src/linux-$version
echo "Are you ready to configure the kernel?(y,n)"
read answer
if [ $answer = y ] # spacing in between r, =, y, and ] #catkin #12-29-10 
{	# darkstarbyte 12-30-10 this whole line.
then
make menuconfig
}	# darkstarbyte 12-30-10 this whole line.
elif [ $answer = n ] #spacing in between r, =, n, and ] #catken #12-19-10
then
{	# darkstarbyte 12-30-10 this whole line.
echo "bye";
exit
}	# darkstarbyte 12-30-10 this whole line.
else
echo "Try again."

make && make modules_install

cp arch/x86/boot/bzimage /boot/linux-$version

echo "linux-$version" >> /boot/grub.conf;

cd ~

echo "done";

exit
Change log like system inspired by the linux kernel.

Last edited by darkstarbyte; 01-01-2011 at 08:36 PM. Reason: Repairs to my shell script. and change log note.
 
Old 12-28-2010, 06:37 AM   #6
catkin
LQ 5k Club
 
Registered: Dec 2008
Location: Tamil Nadu, India
Distribution: Debian
Posts: 8,578
Blog Entries: 31

Rep: Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208
Try
Code:
elif [ $answer = n ]
that is with spaces either side of the string comparison operator =; otherwise it is an assignment operator.
 
Old 12-28-2010, 11:54 PM   #7
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
Thanks for your help. I added what you helped me with in the notes, Also I dated the changes. I gave you credit for your help.
 
Old 12-30-2010, 08:08 AM   #8
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
My edited shell script is back. With brackets, and note to document it. This version is also at my previous post.


I am half asleep and I need help with this shell script.

Code:
#!/bin/bash

# Writen by darkstarbyte for Gentoo. Date 12-30-10
# This is catkin's evolution of my shell script, with a few minor edits.
# You will have to run this as root.
# This shell script is meant to compile a vanilla kernel on Genoo.

# This is my first shell script and I am very tired...

# Also this is written by anyone else who would kindly help.
# If you do help, tell me the name you would like to be listed as.

echo 'Welcome to the Gentoo vanilla kernel builder'

echo >> web_temp_for_vanilla.sh_temp # What is this intended to do?

echo "View list of kernel options? (y or n)" # The second quotation. Darkstarbyte 1-jan-11
while read answer
do
    case $answer in
        y | Y )
            break
            ;;
        n | N )
            exit
            ;;
        * )
            echo "Invalid answer $answer" >&2 # Helpful to show what was entered. Error messages conventionally written to stderr
    esac
done

while_line=5    # Easier to understand what it is for here but it is not changed ... ?
while [[ $while_line -eq 5 ]] # Previous version runs $while_line. [[ more robust than [
do
    wget --tries=2 --output-document=web_temp_for_vanilla.sh_temp http://www.kernel.org
    # Would be prudent to have an error trap
    while true
    do
        echo 'V to view web page, C to continue'
        read answer
        case $answer in
            v | V )
                cat web_temp_for_vanilla.sh_temp | less
                ;;
            c | C )
                break
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
    rm web_temp_for_vanilla.sh_temp

    echo 'Which kernel version do you want?'
    read version
    # Would be prudent to have some sanity checking on the version entered
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-$version.tar.bz2
    # Would be prudent to have an error trap
    tar -jxvf linux-$version.tar.bz2 -C /usr/src/
    # Would be prudent to have an error trap
    cd /usr/src/linux-$version
    # Would be prudent to have an error trap
    while true
    do
        echo 'Configure kernel? (y or n)'
        read answer
        case $answer in
            y | Y )
                make menuconfig # No break after this in case user wants to configure some more
                ;;
            n | N )
                break
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
    while true
    do
        echo 'Build and install? (y or n)'
        read answer
        case $answer in
            y | Y )
                make \
                    && make modules_install \
                    && cp arch/x86/boot/bzimage /boot/linux-$version \
                    && echo "linux-$version" >> /boot/grub.conf # What is this intended to do?
                break
                ;;
            n | N )
                exit
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
done

# This code never reached because there is no break from the outermost do-done loop above

# After this script exits the calling shell's currrent directory is as it was 
# before this script was called so the next line achieves nothing
cd ~ 

echo "${0##*/}: exiting"

exit
Change log inspired by the linux kernel.

Last edited by darkstarbyte; 01-01-2011 at 08:23 PM. Reason: Updated version by catkin.
 
Old 12-30-2010, 10:51 AM   #9
catkin
LQ 5k Club
 
Registered: Dec 2008
Location: Tamil Nadu, India
Distribution: Debian
Posts: 8,578
Blog Entries: 31

Rep: Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208Reputation: 1208
The { } groups are not necessary or useful. Here's an untested evolution of the script illustrating some techniques you may find useful. I do not yet understand the logic (= the control flow, conditional execution) intended, especially about the use of $while_line and which steps you want the user to be able to skip and when you want them to be able to terminate the script. Presumably the script is intended for use by sysadmins who could be expected to be OK with a "Use Ctrl+C to terminate this script at any of the prompts"; this would simplify the programming, leaving more time for error trapping. In its present state this script is a long way from how I would write it so I have removed my name from the credits; not to say it isn't a worthy effort but you will likely say the same thing in a few months, weeks or days.

BTW the MM-DD-YY date format is ambiguous in countries which use the DD-MM-YY format when DD is 12 or less; DDmmmYY (such as 30dec10) is as brief as possible while being unambiguous, otherwise 30-Dec-10 has advantages.
Code:
#!/bin/bash

# Writen by darkstarbyte for Gentoo. Date 12-30-10
# You will have to run this as root.
# This shell script is meant to compile a vanilla kernel on Genoo.

# This is my first shell script and I am very tired...

# Also this is written by anyone else who would kindly help.
# If you do help, tell me the name you would like to be listed as.

echo 'Welcome to the Gentoo vanilla kernel builder'

echo >> web_temp_for_vanilla.sh_temp # What is this intended to do?

echo "View list of kernel options? (y or n)'
while read answer
do
    case $answer in
        y | Y )
            break
            ;;
        n | N )
            exit
            ;;
        * )
            echo "Invalid answer $answer" >&2 # Helpful to show what was entered. Error messages conventionally written to stderr
    esac
done

while_line=5    # Easier to understand what it is for here but it is not changed ... ?
while [[ $while_line -eq 5 ]] # Previous version runs $while_line. [[ more robust than [
do
    wget --tries=2 --output-document=web_temp_for_vanilla.sh_temp http://www.kernel.org
    # Would be prudent to have an error trap
    while true
    do
        echo 'V to view web page, C to continue'
        read answer
        case $answer in
            v | V )
                cat web_temp_for_vanilla.sh_temp | less
                ;;
            c | C )
                break
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
    rm web_temp_for_vanilla.sh_temp

    echo 'Which kernel version do you want?'
    read version
    # Would be prudent to have some sanity checking on the version entered
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-$version.tar.bz2
    # Would be prudent to have an error trap
    tar -jxvf linux-$version.tar.bz2 -C /usr/src/
    # Would be prudent to have an error trap
    cd /usr/src/linux-$version
    # Would be prudent to have an error trap
    while true
    do
        echo 'Configure kernel? (y or n)'
        read answer
        case $answer in
            y | Y )
                make menuconfig # No break after this in case user wants to configure some more
                ;;
            n | N )
                break
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
    while true
    do
        echo 'Build and install? (y or n)'
        read answer
        case $answer in
            y | Y )
                make \
                    && make modules_install \
                    && cp arch/x86/boot/bzimage /boot/linux-$version \
                    && echo "linux-$version" >> /boot/grub.conf # What is this intended to do?
                break
                ;;
            n | N )
                exit
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
done

# This code never reached because there is no break from the outermost do-done loop above

# After this script exits the calling shell's currrent directory is as it was 
# before this script was called so the next line achieves nothing
cd ~ 

echo "${0##*/}: exiting"

exit

Last edited by catkin; 12-30-2010 at 10:53 AM. Reason: usually used -> use
 
Old 01-01-2011, 10:21 PM   #10
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
Hopefully this will be the last version of my shell script kernel builder for Gentoo.

Here it is. (Keep in mind this is for Gentoo with grub 0.97. Read comment to know how to make it for a newer version.)
Code:
#!/bin/bash

# Writen by darkstarbyte for Gentoo. Date 12-30-10
# This is catkin's evolution of my shell script, with a few minor edits.
# You will have to run this as root.
# This shell script is meant to compile a vanilla kernel on Genoo.

# This is my first shell script and I am very tired...

# Also this is written by anyone else who would kindly help.
# If you do help, tell me the name you would like to be listed as.

echo 'Welcome to the Gentoo vanilla kernel builder'

echo >> web_temp_for_vanilla.sh_temp # What is this intended to do?

pwd >> directory

echo "Are you sure you want to compile your own kernel? (y or n)" # The second quotation and the writing. Darkstarbyte 1-jan-11
while read answer
do
    case $answer in
        y | Y )
            break
            ;;
        n | N )
            exit
            ;;
        * )
            echo "Invalid answer $answer" >&2 # Helpful to show what was entered. Error messages conventionally written to stderr
    esac
done

while_line=5    # Removed comment. darkstarbyte 1-2-11
while [[ $while_line -eq 5 ]] # Previous version runs $while_line. [[ more robust than [
do
    wget --background --tries=2 --output-document=web_temp_for_vanilla.sh_temp http://www.kernel.org # Background option darkstarbyte 1-jan-11
    # Would be prudent to have an error trap
    while true
    do
        echo 'V to view web page, C to continue. (To quit viewing the webpage hit q)'
        read answer
        case $answer in
            v | V )
                cat web_temp_for_vanilla.sh_temp | less
                ;;
            c | C )
                break
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
    rm web_temp_for_vanilla.sh_temp

    echo 'Which kernel version do you want?'
    read version
    rm linux-$version.tar.bz2 # darkstarbyte 1-jan-11
    # Would be prudent to have some sanity checking on the version entered
    rm wget-log # darkstarbyte 1-jan-11
    wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-$version.tar.bz2
    # Would be prudent to have an error trap
    tar -jxf linux-$version.tar.bz2 -C /usr/src/ # I got rid of verbose for those with no frame buffers. # darkstarbyte 1-jan-11
    # Would be prudent to have an error trap
    cd /usr/src/linux-$version/
    # Would be prudent to have an error trap
    while true
    do
        echo 'Configure kernel? (y or n)'
        read answer
        case $answer in
            y | Y )
                make menuconfig # No break after this in case user wants to configure some more
                ;;
            n | N )
                break
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
    # This allow the user to name the kernel. # darkstarbyte 1-jan-11
    echo 'What would you like to name the kernel?' # This comment and to the end of the following while loop. # darkstarbyte 1-jan-11
    while true
    do
        read name
	echo "Are you sure you want to name your kenel $name?"
	read answer
	case $answer in
	    y | Y )
		break
	    ;;
	    n | N )
		read name
		echo "Are you sure you want to name your kernel $name.?"
	    ;;
	    * )
	        echo "Invalid answer $answer" >&2
	esac
    done	# My work ends for this loop. #darkstarbyte 1-jan-11
    while true
    do
        echo 'Build and install? (y or n)'
        echo 'This uses the old grub .97'	# darkstarbyte 1-jan-11
        read answer
        case $answer in
            y | Y )
                make \
                    && make modules_install \
                    && cp arch/x86/boot/bzimage /boot/linux-$name \  #replaced comment and $version with $name. darkstarbyte 1-jan-11
                echo "title linux-$name" >> /boot/grub/grub.conf # Got rid of &&. It was unneeded. # darkstarbyte 1-jan-11
			# Added title and the file it is supposed to be written to.
			# $name instead of $version. darkstarbyte 1-jan-11
		        # Line above this is intended to add the kernel to grub on new grub you use make grub and for lilo run make lilo. # darkstarbyte 1-jan-11
		echo 'root(0,0)' >> /boot/grub/grub.conf # Added this whole line. # darkstarbyte 2-jan-11
		echo "kernel linux-$name root=/dev/sda3"
                break
                ;;
            n | N )
                exit
                ;;
            * )
                echo "Invalid answer $answer" >&2
        esac
    done
done

# Three lines of comments removed. darkstarbyte 1-jan-11.
cd $directory

echo "${0##*/}: exiting"

exit

Last edited by darkstarbyte; 01-02-2011 at 10:30 PM.
 
Old 01-01-2011, 10:27 PM   #11
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
I am working on a slackware kernel builder. I am going to use the Gentoo one as a template. The only thing I need to do is add a sanity check, and configure it for lilo.

Canceled.

Last edited by darkstarbyte; 07-13-2011 at 04:35 PM.
 
Old 07-13-2011, 04:55 PM   #12
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
Here is a shell script for taking mkv to mp4 files for the playstation 3. This is much faster than converting the file again.

Code:
#!/bin/bash

# Before you run this script you must know that your responsible
# for the changes it makes.

set -e # for debugging.


# My script assumes that you are using ac3.
# This script is built for those who use x264,
# with a mkv container.
# It is now a fixme.

for i in *.mkv; do \
two="${i%.*}.264"; \
audio="${i%.*}.ac3"; \
mkvextract tracks "$i" "1:$two" "2:$audio"; \
MP4Box -add "$two" -add "$audio" "${i%.*}.mp4"; \
rm "$two" "$audio";done


exit 0
There are some bugs in this script like the first track on the mkv has to be video the second audio. Also the audio can be off.

Last edited by darkstarbyte; 07-13-2011 at 05:00 PM.
 
Old 07-15-2011, 06:23 AM   #13
darkstarbyte
Member
 
Registered: May 2010
Location: 3 planets away from the sun.
Distribution: Slackware and Fedora
Posts: 234

Original Poster
Rep: Reputation: 2
Instead of making files in ffmpeg you might want to do things with x264.

Code:
#!/bin/bash

EXT=(*.avi *.flv *.mp4 *.wmv) # Add file extensions as needed.

for i in "${EXT[@]}"; do x264 --crf 15 --preset medium -o "${i%.*}.mkv" "$i";done

# Use the tune setting based on what type of source you have.
# --tune animation for animation, --tune grain for grainy sources, and --tune film for
# basically film that is not grainy nor animation.

# The reason why one should use tune is because certain types of media need to have loss
# in certain ways like for film it is best to have artifacts, and for animation it is best
# to have blur.


# Change preset based on need, you can use ultrafast, superfast,
# veryfast, faster, fast,
# medium, slow, slower, veryslow, and placebo.

exit 0

Last edited by darkstarbyte; 07-15-2011 at 08:31 AM.
 
Old 07-15-2011, 08:58 AM   #14
H_TeXMeX_H
LQ Guru
 
Registered: Oct 2005
Location: $RANDOM
Distribution: slackware64
Posts: 12,928
Blog Entries: 2

Rep: Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301Reputation: 1301
I also wrote a defrag script, to spare defrag any filesystem supported by filefrag.

I can post it but, I only update my site, so get it:
http://htexmexh.my3gb.com/linux/scripts.html
 
  


Reply

Tags
bash scripting, shell, shell script, shell scripting, terminal


Thread Tools Search this Thread
Search this Thread:

Advanced Search

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
System Specs Super Thread lamar_air General 99 06-30-2010 03:55 AM
how to run a shell script with super user privs when my network get disconnected!!! sd|| Linux - Newbie 1 12-02-2009 05:14 AM
How do i change to super user then revert back to ordinary user ,using shell script? wrapster Solaris / OpenSolaris 6 03-18-2009 03:37 AM
Starting Java from shell script (Exception in thread "main") rolf_mueller Linux - Software 5 10-30-2004 02:11 AM
super samba thread tendaas Linux - Newbie 1 09-15-2004 03:41 PM

LinuxQuestions.org > Forums > Linux Forums > Linux - Software

All times are GMT -5. The time now is 10:49 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration