Category Archives: OS X Lion
Posted: 10th May, 2013
If you have multiple accounts on your mac, you may sometimes wish to log out one or more of those accounts without actually having to sign in to them first via the fast user switching menu. There’s a couple of ways to do this. First, if the issue is just that you want to shutdown the computer, you can log out all users by entering an Admin user name and password when this dialogue automatically appears after hitting ‘Shutdown’ (it won’t appear if no other users are logged on):
However, there are times when you may just want a quick way to log out users without shutting down and without wasting time logging in to their accounts first. Be aware that in killing a user’s process without logging in to the account first, any data in that user’s account that is not already saved (or autosaved) will be lost. If you’re sure that’s not a problem, then follow this short procedure manually or use the AppleScript version that follows:
1. Open up Activity Monitor (/Applications/Utilities/Activity Monitor.app)
2. Use the drop down menu in the Task bar to change the menu to ‘Other User Processes’ (note: you can use ‘All Processes’ in the menu if you wish, but that is less safe as it makes it possible to accidentally click on your own user process in step 4 below!).
3. In the filter bar, type
4. From the list of users that show up, for each one that you wish to log out:
- click on its row in the Activity Monitor pane to highlight the process
- press the ‘Quit Process’ icon in the Task bar above
- from the resulting dialogue window, click ‘Force Quit’
- supply an Admin password if requested.
Repeat for any further accounts that you wish to quit. (Tip: If you want to kill the ‘Guest User Account’, you’ll need to switch back to ‘All Processes’ and kill the loginwindow assigned to the ‘root’ user).
And that’s it. Your unwanted users are now logged out! 🙂
Update 30th April, 2016: If you get tired of doing this manually, you can log out all other real users at once with this AppleScript:
set thisUser to do shell script "whoami"
set usrList to paragraphs of (do shell script "ps caux -o args | grep loginwindow")
repeat with i from 1 to number of items in usrList
set this_item to item i of usrList
set thatUser to word 1 of this_item
if thisUser is not equal to thatUser then
set theProcessNum to word 2 of this_item
do shell script "kill -9 " & theProcessNum with administrator privileges
In this post I’m going to show you how you can select a piece of text in any app and have it run in Terminal simply by hitting a hotkey. The trick is especially useful for running commands you find on websites (like this one!) in a browser like Safari or Firefox.
This 20-second clip demonstrates running a command from a Firefox browser and another one from TextEdit, but you can also do it from an AppleScript editor window (and indeed any app that has selectable text), which can be useful for testing the formatting of your ‘do shell script’ commands and the like:
The first thing you’re going to need is to create an Automator workflow, add an AppleScript action and insert some code. Really? Nah, just kidding. I did it for you. 🙂 Just download, unzip and double-click the .workflow file to install the completed Service:
Click through the various dialog boxes and choose ‘Install’ on the last one* (note for Snow Leopard users: the service will open directly in Automator; just do ‘command-shift-S’ to name it and save it).
All you need to do now is set the hotkey. Open > System Preferences.. > Keyboard | Shortcuts and click ‘Services’ in the sidebar. Scroll down the window till you see the ‘Run in Terminal’ command. Click on the far right to add a shortcut of your choice. The one I used in the video is ‘command-option-control-T’ (‘T’ for ‘Terminal’ helps me remember the shortcut).
To use the Service, just highlight any Terminal command by triple clicking it and pressing your hotkey. Try this one,
cd ~/Desktop; ls -alF
which lists all the visible and invisible files on your Desktop, as a test.
You can also get to the Service from both the contextual menu (right-click > Services) and the application menu bar at the top (e.g., Safari > Services).
As a bonus, try out your new Service on the Terminal command in this post, and now you’ll be able to run Terminal commands even from Quick Look previews in Finder!
If you’re a user of Bombich Software’s excellent Carbon Copy Cloner but you’re not doing backups as scheduled tasks, you may wish there was a way to find out the last time you successfully completed a backup task.
Unfortunately, CCC doesn’t provide an easy way for users to see this information natively, but in this post we’re going to add it through a bit of AppleScript and Automator magic.
As it turns out, CCC does keep a log of all your past backup details stashed away in a CCC.log file buried in your local domain’s Library folder. You can view this file in Console, but it’s a bit of a pain. Wouldn’t it be nicer if you could just hit a hotkey like ‘Command-Control-C’, say (you know, for ‘CCC’ 🙂 ), and get a dialog box like this:
For Lion, Mountain Lion and Mavericks:
Download for 10.7.5 thru 10.9.2 📀
For Snow Leopard:
Download for 10.6.8 💿
Double-click on the .zip file and double click again on the unzipped workflow file. You’ll get a warning message saying that you’ve downloaded the file from the internet (from me, actually!). After clicking ‘Open’ to dismiss the warning, for all users except 10.6, click ‘Install’ on the the following dialog box:
After clicking ‘Install’, click ‘Done’ to dismiss the confirmation dialog box that pops up.
For those of you running Snow Leopard (10.6.8), after clicking ‘Open’ the workflow should open in Automator. Hit ‘command-S’ to save it as a Service.
For all users, if you now click up to any application name next to the Apple near the top left of your screen (see the screenshot at the top of this post) and scroll down to ‘Services’ you should see the new Service already there. If you don’t, try logging out and logging back in to your user account.
Once you can see the workflow in the Services menu, go ahead and give it a click to test it out. 🙂
A couple of notes on usage:
Carbon Copy Cloner does not have to be open for the Service to work.
The date format display is YYYY-MM-DD.
If you want to add a shortcut key as suggested earlier, open up System Preferences > Keyboard and click the ‘Shortcuts’ tab. Down the sidebar you should see ‘Services’. Click on that and scroll way down to the bottom till you see the name of the Service. Click ‘Add Shortcut’ and hit the keys you want to use. I like ‘command-control-C’ as it’s an easy mnemonic for ‘Carbon-Copy-Cloner’.
FastTasks now makes it simple to check the current TRIM status of your disk, and to either enable or disable it with a simple click, particularly useful if you find that TRIM has been turned off by an OS X software update or upgrade.
Note that you need to restart your mac after using the radio buttons to change the TRIM status in order to complete the process.
I’ve been planning this ever since I first wrote a shell script along the same lines. All it needed was a nice interface, and that’d be something I could use almost everyday. Well, it only took me 8 months to get round to it, but here it is. 😉
FastTasks allows you to achieve a number of things that you would normally have to roll up your sleeves and do in Terminal or AppleScript.
The window consists of two columns: left-side for info, right-side for actions. Here’s a detailed breakdown of functions with possible uses.
OS X Version:
Displays your current OS Version and build number
Displays your boot volume
I sometimes forget which particular volume I’m booted into, so this is vital info for me and anyone who’s regularly booting in and out of different installations.
The IP address of your network router
This can be useful for troubleshooting or if you need to access your router’s Admin page.
Just select the address and paste it into Safari’s search bar.
Your node on the local network
Useful to copy and paste if you need your local IP/ network node.
How the rest of the world sees you
Very useful if you’re using proxies and want to check whether they’re working.
Just a courtesy reminder, but the real value here is the summary of usage stats underneath. These are pretty good approximations to what AM shows on my 10.8, but there are discrepencies on some versions of OS X between what ‘top’ shows and what Activity Monitor shows. FastTasks uses the same information that you’d get if you used the ‘top’ command in Terminal.
By the way, there’s a refresh button (keyboard shortcuts shown) for both the memory usage and network addresses, as the displays do NOT update continuously. Using the refresh buttons does not CHANGE anything on your system: They just update the display to reflect the current state of the system.
Show hidden files:
Reveal or hide the hidden files and folders in the Finder whose names begin with a period
This is probably the most useful function of the app as it provides a dead easy way to hide and unhide system files without messing around in Terminal.
Show User Library:
Reveal or hide the User Library in the Finder
Likewise, this hides or unhides the ~/Library folder in Finder. This is ‘hidden’ in a different way from files that begin with a period, and its setting can be manipulated independently of that setting, so you can have the User Library showing, but ‘hidden’ files still hidden.
Flush DNS Cache:
Flush the cache that resolves internet domain names into IP addresses
Flushing the DNS cache can sometimes help resolve problems when you can’t access certain websites. Depending on what system you’re running, you may or may not see a ‘Requires Admin password’ warning next to this button. If you see the warning, then when you press the button the system will ask you for your password. The password request is from OS X and it goes to OS X: It’s not called, seen or stored by the app itself.
Purge the RAM of inactive memory
Again, depending on what system you’re running, you may or may not see a ‘Requires Admin password’ message. On Snow Leopard, this requires the Command Line Tools supplied with Xcode, so if you see a message telling you to install Xcode, you may have to live without it (availability of Xcode for Snow Leopard these days is a bit hit and miss). You’ll also see the information on the left-side refreshed under ‘Usage’ when you use the free memory function and it successfully completes.
NOTE: on some systems where both Flush DNS Cache and Free Memory display ‘Requires Admin password’, note that after supplying the password for one of those actions, the user will be able to perform the other action without authenticating for a period of around 5 minutes (unless the sudo timeout setting has been altered by an Admin user).
Lastly, at the bottom of the window you’ll see a tiny plea to donate if you find the app useful ;). Note that the underlined text ‘Applehelpwriter’ and ‘Donate’ are hotlinks that if clicked will launch Safari and load a tab with this site and a Paypal donate page, respectively.
I hope you enjoy using FastTasks. Please read the provided Licence and User Guide that are in the download. Thanks! 🙂
While professional troubleshooters will use software like fseventer or the Instruments.app that comes as part of Xcode, there’s an easy way for anyone to see which files have recently been accessed on their Mac.
1. Open any Finder window and hit ‘command-F’.
2. Click the ‘Kind’ button and choose ‘Other’ at the bottom of the menu:
3. Next, scroll down the list till you see ‘System files’ and check the box and hit ‘OK’.
4. Change the button that says ‘aren’t included’ to ‘are included’.
5. Now hit the little ‘+’ button over on the right side of the window.
6. Again, change ‘Kind’, this time to ‘Last Modified’ and change ‘within last’ to ‘today’.
7. Finally, go to Finder > View menu at the top and choose ‘Arrange By > Date Last Opened’.
You can save the search in the Sidebar for convenience. Give it a more useful name like ‘latest changes’ or ‘fs events’ (“fs” stands for filesystem) and click on it whenever you need to check what’s just happened to your Mac! 🙂
1. Run ‘Repair System Permissions‘ in Disk Utility.
Repairing system level permissions won’t solve the kext cache problem, but you’ll want to make sure they are all in order first. There is no need to repair ACL permissions for this procedure.
2. Open Terminal.app
Copy and paste the following:
sudo chown root:admin /
Hit ‘return’ and type in your admin password. This step ensures that the admin user has ownership permissions for everything on the startup disk.
3. Fix the kext cache permissions
Paste the following code into Terminal.app, hitting ‘return’ again and supplying the password if requested (if you do this shortly after step 2 you may not be asked for the password again):
sudo touch /System/Library/Extensions
4. Clear Console log and restart
The next two steps aren’t strictly necessary, but are good practice. Open Console.app, click ‘All Messages’ in the sidebar and hit the ‘Clear Display’ button in the Tool bar. Now, restart your mac.
5. Check for the problem
See if the procedure was successful by opening Console.app again, choosing ‘All messages’ in the sidebar and typing
in the filter/search bar over on the right. If you carried out the procedure above correctly, it shouldn’t return any ‘can’t create kext cache / user isn’t root’ messages since the restart time.
Featured picture: I’m not a balloon owner anymore by ~starwink
If you find it annoying that in Pages and other Apple apps, there’s no easy way to remove rich text formatting when you copy and paste from websites and other rich text sources, this could be just the tip for you.
The video begins with a demonstration and then shows you how to create the shortcut shown. If you don’t see captions at the bottom of the video, be sure to press the ‘CC’ button in the YouTube video controller bar at the bottom of the screen.
The procedure is fairly straightforward:
1. Open Automator.app and create a new service by clicking on the gear/cog.
2. Change the ‘Service receives’ menu to ‘no input’.
3. Type ‘Apples’ in the Action filter bar, and drag a ‘Run AppleScript’ action into the main pane.
4. Clear the default text, and copy/paste this into the window:
set the clipboard to «class ktxt» of ((the clipboard as text) as record)
5. Click the hammer icon to compile the code, and then ‘command-S’ to save it (you don’t need to choose a save location).
6. The service will now appear in your Services menu (eg. Pages > Services > plainTxt).
Whenever you copy some formatted text, just click on the plainTxt item in the Services menu before you paste, and you’ll get plain text instead.
7. Follow the second half of the video if you want to make a global shortcut.
UPDATE: I’ve written a free app that pretty much supercedes what I wrote in this post. DetectX 2 now has a system analyser that records and displays changes to your system configuration over time.
Ever wondered if a link you clicked sneakily downloaded and installed some unwanted software on your mac? Or have you suddenly found your mac behaving weirdly, a situation that is often a result of installing new software that conflicts with something else on the system, but can’t remember what you recently installed? In these sorts of scenarios, what you need to do is check your install logs.
I’ll tell you how to do that in a moment – in a number of ways – but first let’s just make a few notes. Firstly, chances are you’ll find more than one install log in your logs folder. The most recent one is simply called
install.log, older ones will have a filename ending with
.bz2, indicating a compressed file. Secondly, the reason you may have more than one install log is that OS X creates new install logs every time the log file gets to around 1MB in size. It then compresses and keeps the old logs, typically up to five logs prior to the current one.
Pro Tip No.1: if you’re a Terminal whizz and you want to change how many old logs are kept or at what size the log file gets turned over, you can edit the
/etc/newsyslog.conffile, but be sure to read the
Typically, we’re only going to be interested in examining the most recent log file if troubleshooting new problems, but the process that I’m going to describe here can also be used to view the older logs, too. Apple buries the logs deep into parts of OS X that ordinary users typically don’t reach, but fortunately, there’s numerous ways to get at your install logs, and though some of them may be unfamiliar, none of them are particularly difficult or dangerous.
1. View only recently installed items
Open the Terminal.app (Utilities/Terminal.app) and copy and paste this command:
grep 'Installed' /private/var/log/install.log
This will return a list of every item successfully installed since the new log file was created. If there’s nothing of interest there, but you think there should be, then you’re going to need to see a bit more of the log file, and perhaps find out when it was ‘rotated’ or ‘turned over’ (i.e., the last time the system archived the install.log and created a new one).
2. View the entire install log
If you’d like to see the whole log for this reason, or perhaps you want to see whether something failed to install, it’s probably best having the log displayed in TextEdit rather than Terminal, so copy and paste this command into the Terminal window:
cat /private/var/log/install.log | open -f
You’ll see at the beginning of the file it’ll tell you when the file was turned over. Don’t forget you can use TextEdit’s search facility (Command-F) to search for particular instances or items you’re interested in finding. When you’re finished viewing this file, you can simply close TextEdit and discard it. It isn’t the actual log file, but rather a local copy of it.
3. Using Console
Alternatively,, if you don’t feel comfortable in Terminal, you can view all your install logs in the Console.app. You can open Console either through Finder by navigating to /Applications/Utilities/Console.app or just by typing ‘cons’ in either Spotlight or Launchpad. Once Console is open, scroll down the sidebar, looking for /var/log. Click the disclosure triangle if it’s not already pointing downwards and look for install.log. Click on that, and then in the filter bar in the main window, type installed (unlike the grep command I gave you above, this one is not case sensitive and will return both ‘Installed’ and ‘installed’).
Notice in the screenshot above, I’m examining a turned over log, not the current one. As this particular install of Mountain Lion was only done on May 3rd, there’s only one turned over log file.
Pro Tip No.2: You can force the system to turn over all the log files, including install.log even if they haven’t reached their maximum size. As it says in the
newsyslog, this can be “useful for diagnosing system problems by providing you with fresh logs that contain only the problems.”
To force all log files to be turned over, simply enter
sudo newsyslog -Finto Terminal. Hit ‘return’ and supply your password, as always with the
4. Using Finder
If Console is a bit too off-territory for you, there’s nothing wrong with viewing your logs in Finder and TextEdit. To do that, click on the Finder, then hit ‘shift-command-G’ on the keyboard (or click ‘Go’ in the menu bar and choose ‘Go to Folder’). Type or paste this into the dialogue box:
and hit the ‘Go’ button.
Right-click on any of the logs you want to open and choose ‘open with’ from the contextual menu. Choose ‘TextEdit’ or your favourite plain text editor app. If none of your text editors show up in the menu, click ‘Other’ and change the ‘Enable’ menu to ‘All Applications’. You will now be able to choose TextEdit or some other editor if you have one. Note that unlike Step 2 above when we used a Terminal command to open a copy of the install log in TextEdit, here you are viewing the actual files rather than a copy of them. Although the log files are not important to the running of your system and can be deleted or altered without causing any consequences, they do provide useful records for troubleshooting so its always good practice to keep them in tact if you can.
And that, in a nutshell, is how you view your install logs! 🙂
Get Applehelpwriter’s free troubleshooting app DetectX 2
Featured picture: Rectangleum by *Eccoton