Take the 2-minute tour ×
Ask Different is a question and answer site for power users of Apple hardware and software. It's 100% free, no registration required.

I am using Google Chrome version 22 on OS X 10.8. I use separate user profiles (created using the native Chrome facility in Settings->Users) for my "regular" web browsing, and the web development that I do. I launch my web development profile from the regular Chrome profile window by clicking on the avatar in the top-left-hand-corner:

enter image description here

At the moment both of these profiles share a single dock icon. However, I would much prefer for each Chrome profile to have its own dock icon, with the windows managed separately - and ideally for the dock icons to be distinguished in some way. Is this easily possible? By 'easy', I mean things like rebuilding Chrome from source are not an option I'll consider.

Note: I would like to use the same, stable, version of Chrome for both profiles. It would be OK to have the same version installed twice as long as they can be kept separate and the dock icon distinguished.

share|improve this question

3 Answers 3

up vote 3 down vote accepted
+50

For having two Chrome running at the same time you need to create a second runnable Google Chrome App.

You can create that second application by running the following script. It comes from this site, I copy and paste for readers' convenience:

#!/bin/bash

PROFILE_NAME=$1
mkdir -p "/Applications/Google Chrome $1.app/Contents/MacOS"

F="/Applications/Google Chrome $1.app/Contents/MacOS/Google Chrome $1"
cat > "$F" <<\EOF
#!/bin/bash

#
# Google Chrome for Mac with additional profile.
#

# Name your profile:
EOF

echo "PROFILE_NAME='$PROFILE_NAME'\n" >> "$F"

cat >> "$F" <<\EOF
# Store the profile here:
PROFILE_DIR="/Users/$USER/Library/Application Support/Google/Chrome/${PROFILE_NAME}"

# Find the Google Chrome binary:
CHOME_BIN="/Users/$USER/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
if [[ ! -e "$CHOME_BIN" ]]; then
  CHOME_BIN="/Applications/Google Chrome.app/Contents/MacOS/Google Chrome"
else
  echo "ERROR: Can not find Google Chrome.  Exiting."
  exit -1
fi

# Start me up!
exec "$CHOME_BIN" --enable-udd-profiles --user-data-dir="$PROFILE_DIR"
EOF

sudo chmod +x "$F"

Save it in a file (let's say create_second_chrome.sh in the Desktop folder), open the shell and execute it by passing as parameter the profile folder you want to associate to the second Chrome App. It will be called Google Chrome profile_folder_name. Let's suppose Google Chrome Development:

$ cd ~/Desktop
$ . create_second_chrome.sh Development

Now you can launch the new version of Chrome (Google Chrome Development) from the ~/Applications directory. You can set a different icon by right-clicking on the app and selecting 'Get Info'. You will see that this new version has its own icon on the dock and can be docked there if needed.

share|improve this answer
    
That doesn't seem to work. I created a new profile for myself called Development in Settings -> Users. This created the directory ~/Library/Application Support/Google/Chrome/Profile 2. However, executing open -a "Google Chrome" --args --profile-directory="Profile 2" still opens the old/original profile, as I can tell from the avatar in the top-right corner. –  Andrew Ferrier Oct 11 '12 at 14:17
    
@AndrewFerrier Have you tried to close command + q Chrome and repopen it by means of the workflow? It works with me. –  Maverik Oct 11 '12 at 14:22
1  
it works if you do that, yes (i.e. if Chrome is not started at all, it opens the desired profile). But if one profile is already started, executing that command re-opens a window for that profile, irrespective of which profile is specified. That's doesn't help with the question, since the objective is to have both open simultaneously. –  Andrew Ferrier Oct 11 '12 at 14:27
    
@AndrewFerrier Thanks for your edit, now the answer it better! Hope it helped you! Luca –  Maverik Oct 12 '12 at 15:41
1  
neither am I now! Seems I made a mistake, it seems OK now. Will leave it running for a bit, see if I continue to experience problems... –  Andrew Ferrier Oct 12 '12 at 15:59

I tried the script from @Maverick and it partly worked (thanks!) but I ran into some difficulties. The main problem is that the wrapped copy of Chrome, although it is independent, has its own icon, and works correctly on its own, cannot open URLs sent from other applications, so it doesn't work with Choosy.

Here is what worked for me, to get a second Chrome which can open links via Choosy, for example:

  1. Copy Library/Application Support/Google/Chrome to Library/Application Support/Google/ChromePersonal in your home directory. This is optional; I wanted to transfer over my Chrome User profiles to the new instance. But if you're OK starting fresh you can skip this.
  2. Copy Google Chrome.app to another location. I used /Applications/Google Chrome Personal.app.
  3. Copy my wrapper.sh script (below) into the app's Contents/MacOS directory.
  4. Modify Contents/Info.plist in this new app to point to the wrapper script (set CFBundleExecutable value to wrapper.sh), and to have a unique CFBundleIdentifier (just add "Personal" to the existing value).

Here is my modified wrapper.sh script. Put it at /Applications/Google\ Chrome\ Personal.app/Contents/MacOS/wrapper.sh and then edit the Info.plist as in step 4.

#!/bin/bash

# Wrapper script that starts independent instance of Google Chrome for Mac

# To use: copy Google Chrome.app to a new location.  Copy this script into
# the Contents/MacOS directory of the copied app.  Edit the copied app's
# Contents/Info.plist and change CFBundleExecutable to "wrapper.sh",
# and pick a unique CFBundleIdentifier.

# Instance data will be stored here.  You can copy your existing data 
# to this location if you want to preserve your existing user profile(s).
# You can also change this if you want to store the data somewhere else.
INSTANCE_DIR="/Users/$USER/Library/Application Support/Google/ChromePersonal"

# Find the Google Chrome binary:
CHOME_BIN="$(dirname "$0")/Google Chrome"

# Start Chrome
exec "$CHOME_BIN" --user-data-dir="$INSTANCE_DIR"

One caveat: I believe Chrome's auto-update feature will break this every time Chrome updates, meaning you need to re-do steps 3 and 4 after every Chrome update.

share|improve this answer

Have you tried the beta build? I can't test right now, so I'm not 100% sure it's a different icon - and if not, you can also try the "canary build" -

It shouldn't be so far off the official build in term of rendering so you can trust what you see. And you can make your developer profile the default one.

share|improve this answer
    
I'm not clear on what you're suggesting. Are you suggesting running two different versions of Chrome at the same time? (stable and beta). I'd really rather use stable across the board. Thanks for the suggestion, though. –  Andrew Ferrier Oct 8 '12 at 14:17
    
FWIW, I downloaded Chrome from the Beta channel and it has the same icon, so unfortunately that doesn't help me much there either... –  Andrew Ferrier Oct 8 '12 at 14:18
    
FYI, Chrome Canary actually has a different icon, but its less stable (it general works though). –  studgeek May 30 '13 at 16:02

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.