#!/usr/bin/perl # # turbo - Toggle the turbo button. Unix/Linux. # # Once upon a time computers were made with a physical turbo button # that doubled the CPU speed. These days we need to make do with a script. # # 22-Sep-2004 ver 1.00 # # USAGE: turbo # # WARNING: Use of the turbo setting may cause CPU overheating. # # COPYRIGHT: Copyright (c) 2004 Brendan Gregg. # # This program is free software; you can redistribute it and/or # modify it under the terms of the GNU General Public License # as published by the Free Software Foundation; either version 2 # of the License, or (at your option) any later version. # # This program 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 General Public License # along with this program; if not, write to the Free Software Foundation, # Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # (http://www.gnu.org/copyleft/gpl.html) # # 22-Sep-2004 Brendan Gregg Created this. $turbofile = "/etc/turbo.conf"; # # Fetch current state # if (open(TURBO,"$turbofile")) { while (chomp($line = )) { ($state) = $line =~ /^TURBO=(.*)/ if $line =~ /^TURBO=/; } close TURBO; } else { $state = "off"; } # # Toggle turbo button # if ($state eq "off") { $state = "on"; $CPU = $CPU * 2; } else { $state = "off"; $CPU = $CPU * 1/2; } # # Save new state # open(TURBO,">$turbofile") || do { print STDERR "ERROR1: Only root can press the turbo button.\n"; exit 1; }; print TURBO "#\n# turbo.conf\n#\n# Configuration parameters for turbo.\n"; print TURBO "# Do NOT edit this file by hand -- use turbo(1m) instead.\n#\n"; print TURBO "TURBO=$state\n"; close TURBO; print "TURBO is now $state\n";