Mac OS Catalina 10.15, ability to manage Dock, seems broken

cpominville
Contributor

As soon as I upgraded to 10.15, I noticed that some items in the dock of the upgrade computers, had question marks instead of the App. No amount of diddling on the Jamf side, fixes this. The app does live on the computer...but something is broken. Jamf is aware of this.

To add to this, also the ability with a profile to position the dock on the left, right, or center, no longer works either!!
e43a2beeb62c4c5d83aa2dcb1632ff6f

bf4245f1a2474528a7e8202f1b81d8ea

32 REPLIES 32

larry_barrett
Valued Contributor

What apps are giving you the question marks?

JarvisUno
Contributor II

Are they 32 bit applications?

larry_barrett
Valued Contributor

Couple of changes that occurred:
Facetime is now Macintosh HD/System/Applications/FaceTime.app
Launchpad is now Macintosh HD/System/Applications/Launchpad.app
=-=New Dock Items=-=
Macintosh HD/System/Applications/Tv.app
Macintosh HD/System/Applications/Podcasts.app
Macintosh HD/System/Applications/Music.app

As long as all your machines are on 10.15, change it in Settings -> Computer Management -> Dock items
If you have a mixture, you'll need separate dock entries and dock configurations based on the OS. Smartgroup should be fine.

cpominville
Contributor

Maps, Chess and System Preferences..

larry_barrett
Valued Contributor

Macintosh HD/System/Applications/Chess.app
Macintosh HD/System/Applications/Maps.app
Macintosh HD/System/Applications/System Preferences.app

If your HD is named something else, just change that part of the file path.

cpominville
Contributor

I take it your NOT experiencing what is happening here in Catalina. Are you talking about Doct Items as a payload, or Dock Items as a Policy...and why is there two of them?

cpominville
Contributor

When I use this as you suggest, Macintosh HD/System/Applications/Safari.app disappears off the dock.
If I use file:///Applications/Safari.app/ It appears on the dock.

However, that same formal does not work for Maps, System Preferences or Chess. see attachment
cb8080111209443a85bcdf7ee6a241cb

larry_barrett
Valued Contributor

You've got an extra slash in there. Here's an example of my Dock Items
592ff06b86a9419a9ed77568dee7cdc3

Its file:// NOT file:///

All mine work, Catalina, Mojave, doesn't matter.

cpominville
Contributor

Thank you so much Larry, for me, I have to use a combination of as you suggested file://Macintosh HD/Applications/Pages.app AND some NEED file://Applications/Pages.app

Speaking of Pages and Safari, they both DON'T work with file://Macintosh HD/System/Applications......
but work with file://Applications/xx.app

Weird eh? All the question marks that I had, I used your file://Macintosh....etc... and they started to work

so it seems I need to use a combination of both..

Question, I am using Policies to populate the dock. There is also the option of using a configuration profile. What do you like to use, and why?

Thank you for your time and energy.

larry_barrett
Valued Contributor

I use a policy. See attached. Make sure your policy has every app on your dock, removed or added.

786cdcb76e6f4f40b24af331d58f9c97

6a5faa12326a4401a2dc8e0bab01475a

Special Note: The magic here is the killall command in Files and Processes. 7b731a652045462e9b8782849d9d4a8c

I also keep the policy in Self Service so it can be reset without restarting the entire machine. YMMV.
8f8d6a6c6e314423af68616c95bc142a

Also, here is my dock items from Settings. This "should" be up to date.

663c18de6402438c9cc0d0dee28c27d5

cpominville
Contributor

When you say....... Make sure your policy has every app on your dock, removed or added.

Every App on your dock, BEFORE the policy is applied, or Every App in the policy?

In other words, when you take a computer out of the box, there will be some apps on the dock. Are you referring to these app in your dock? Sorry for the confusion, just trying to figure out why for you its all file://Macint...... and for me its a mix of that plus file://Applications........

larry_barrett
Valued Contributor

Every app on the dock natively, or that is going to be added to the dock, must be accounted for in Settings -> Computer Management -> Dock Items.

As to the difference between our file://, both should work, but I like using the full file path. I've been using this for over a year and I have never had a problem.

cpominville
Contributor

Thanks for clearing that up...

AdamCraig
Contributor III

@larry_barrett 's post was incredibly helpful. Slight addendum to that. I am adding system preferences to the dock, and if it is already on the dock and the Jamf item is named 'System Preferences Catalina' it will actually be on the dock twice, the second one will be named 'System Preferences Catalina' and will rename itself to 'System Preferences' as soon as it is opened. The solution to this was actually to tell the policy to remove the dock icon for 'System Preferences' (even though it had the incorrect, mojave, filepath) and then to tell it to add 'System Preferences Catalina' This results in System Preferences being on the dock just one time.

larry_barrett
Valued Contributor

@strayer I use a different policy depending on what OS is running using Smart Groups. Something similar happened in testing with Lauchpad for me. Good follow up! 🙂

glpi-ios
Contributor II

Hello,

Do you think this issue will be solved in a future version of Jamf Pro because we have 391 dock items and that would mean that I have to clone everything according to whether it's Catalina or not ....

In addition, we have computers with "Machintosh HD" and others named "Disque dur" (in French)...

Thank you,

larry_barrett
Valued Contributor

@glpi-ios only 6 or 7 items changed for Catalina from Mojave. They were mainly the baked in stuff they just moved around in the OS, all your individual apps etc should stay the same.

You can point to the apps without the MacintoshHD bit. For example:

file://~/Applications/Utilities/Console.app

The tilde doesn't care what the harddrive is named 🙂

glpi-ios
Contributor II

Is it normal that since Catalina when I deploy applications in the dock, whether via Remote or Policies, this only works on the current user. The other existing profiles or when I create another user account (local or AD), the original dock appears without mine.

I tried on several computers, 10.15.1 and 10.15.2 still the same problem.

I have Jamf Pro 10.16.1

Thank you for your help as this is very disadvantageous.

larry_barrett
Valued Contributor

Greetings,
All dock settings are based on the User, there is no way that I've been made aware of to apply at a computer level using the Jamf Dock settings. If you trigger based on login it shouldn't matter who logs in. Make sure the policy is set to ongoing.

Special Note: a hidden administrator account will not be affected by the dock policy, irregardless of trigger.

glpi-ios
Contributor II

@larry_barrett Thank you for your reply.

However from High Sierra, we use Policies that our IT support team triggers via the self service in order to install application profiles with shortcut in the Dock.
Policies are on Ongoing.
Once the Policy is executed on a computer, when you create new user accounts (AD or local), the shortcuts in the Dock are there.
I just tried again on a 10.13.6 and 10.14.6 computers and it works.
Same by deploying a shortcut in the Dock with Jamf Remote, the shortcut installs on all existing user accounts and also appears when opening new accounts.

By cons from Catalina, neither through Policies nor with Jamf Remote it seems to work.

Very embarrassing.

larry_barrett
Valued Contributor

@glpi-ios You can't install a profile on an account that doesn't exist yet or an account that hasn't logged in yet. I agree. There is no such thing as computer wide dock, it takes a user (and specifically NOT a hidden admin).

Shortcuts (webclips) are installed into the Users -> UserName -> Library -> Application Support -> Configuration Profiles.

If you try to make a configuration profile for a webclip, you have to be under User Level, it's not even an option in Computer Level.

I literally posted my entire setup that works in Catalina, so I'm not sure what the argument is here.

(I don't use JAMF Remote.)

glpi-ios
Contributor II

I don't use the profiles for the dock but Policies.
And it is this feature that no longer works on Catalina.

d785eb32710c4473b4f66abb62115f69

larry_barrett
Valued Contributor

I don't know what to say anymore. My policies are posted above. It works on Catalina.

Here is a screenshot of my dock, every computer in my lab looks exactly the same. 66e66dae76d04ed294c069a12f0ee9cb

This machine was on Mojave an hour ago, now its Catalina.

glpi-ios
Contributor II

Indeed I saw your capture above.

The only difference is that I don't put with the trigger 'Login'.
Our Support team executes the Policy only once on the workstation and the dock keeps the applications even by opening new user accounts on the workstation without having to trigger the Policy at each login. In any case it works like that with High Sierra and Mojave.

dmarcnw
New Contributor III

I'm going to recommend dockutil. We use it in our deployments and it's as easy as:

dockutil --add /Applications/Slack.app

This will add Slack at the right most of your docked items. You should run this as the logged in user though.

You can find it here: https://github.com/kcrawford/dockutil

LovelessinSEA
Contributor II

I ran into a similar issue a few months back when i started actually trying to manage the dock. I ended up using the tool Dockutil to manage all the dock settings. I wish i would have learned about it earlier. in my experience it's far more reliable than having jamf manage the dock. I have one script that i run as one of the very last things during my enrollment. I noticed that Catalina and Mojave were behaving like you've described above. The launchpad, messages and system preferences app needed a different path for Catalina.

Below is the script that I use for my dock, l don't know if this will help with your specific issue but if you use the dockutil tool, I think fixing the issue would be pretty easy.

#!/bin/bash
### Sets Standard Dock ###


# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#                                   V A R I A B L E S                                       #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #

dock_util=/usr/local/bin/dockutil
fullOSVersion=$(/usr/bin/sw_vers -productVersion)
majorOSVersion=$(/usr/bin/sw_vers -productVersion | awk -F. {'print $2'})
minorOSVersion=$(/usr/bin/sw_vers -productVersion | awk -F. {'print $3'})

### Checking for logged in user, assigning to the variable loggedInUser.
if [ "$3" != "" ] && [ "$loggedInUser" == "" ]; then
    loggedInUser=$3
else
    loggedInUser=$(/bin/ls -l /dev/console | /usr/bin/awk '{ print $3 }')
fi
echo "Creating $loggedInUser's dock."

# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #
#                                 A P P L I C A T I O N                                     #
# # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #


### Setting Persistent Dock Items ###
sudo -u $loggedInUser $dock_util --remove all --no-restart '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Self Service.app' --no-restart '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Google Chrome.app' --no-restart  '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Safari.app' --no-restart  '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Microsoft Outlook.app' --no-restart '/Users/'"$loggedInUser" 
sudo -u $loggedInUser $dock_util --add '/Applications/Microsoft Word.app' --no-restart '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Microsoft Excel.app' --no-restart '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Microsoft PowerPoint.app' --no-restart '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Microsoft OneNote.app' --no-restart  '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Applications/Skype for Business.app' --no-restart  '/Users/'"$loggedInUser"

if [[ $majorOSVersion -ge 15 ]]; then
dockutil --add '/System/Applications/Launchpad.app' --position 1 --no-restart '/Users/'"$loggedInUser"
dockutil --add '/System/Applications/Messages.app' --no-restart '/Users/'"$loggedInUser"
dockutil --add '/System/Applications/System Preferences.app' --no-restart '/Users/'"$loggedInUser"
else
    dockutil --add '/Applications/Launchpad.app' --position 1 --no-restart '/Users/'"$loggedInUser"
    dockutil --add '/Applications/Messages.app' --no-restart '/Users/'"$loggedInUser"
    dockutil --add '/Applications/System Preferences.app' --no-restart '/Users/'"$loggedInUser"
fi

sudo -u $loggedInUser $dock_util --add '/Applications/Cisco/Cisco AnyConnect Secure Mobility Client.app' --no-restart '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Users/'"$loggedInUser"'/Downloads' '/Users/'"$loggedInUser"
sudo -u $loggedInUser $dock_util --add '/Users/'"$loggedInUser"'/Documents' '/Users/'"$loggedInUser"

sudo -u $loggedInUser defaults write com.apple.dock show-recents -bool FALSE

killall -KILL Dock

### Exiting gracefully ###
exit 0

glpi-ios
Contributor II

@LovelessinSEA

Thanks for your help.

I'm really trying to understand or make myself understood.

If I look at your script using Dockutil, it only works for the current user.
What I am simply looking for is to find the behavior of High Sierra and Mojave with the Dock functionality of Jamf Pro whether it be via Policy or Jamf Remote which is to install an application on Dock at the computer level. That is to say that I add the shortcut once on Dock and this installs the shortcut on the dock of all existing and new users who will create their user accounts and without having to use a login trigger.

It worked very well so far, we have been using it for years.

Nix4Life
Valued Contributor

Not sure if it was mentioned, but you have to use ouset with dockutil. We have used the same script since 10.11.x, still works on 10.15.x

Initialised
Contributor

Hi,

I just fixed this for Launchpad by changing the path in Settings -> Computer Management -> Dock items to

file:///System/Applications/Launchpad.app/
file:///Applications/Launchpad.app/

eduffield
New Contributor

Is anyone running into the issue of facetime not being removed with other dock items? I have a policy that removes launchpad, messages, TV, News, Podcasts, Facetime, and Music. But for some reason facetime refuses to get off the dock. On Catalina 10.15.3 (19D76)

I've tried:
file://Macintosh HD/System/Applications/FaceTime.app
file://Macintosh HD/Applications/FaceTime.app
file://~/Applications/FaceTime.app
file://~/System/Applications/FaceTime.app
file://Applications/FaceTime.app
file://System/Applications/FaceTime.app

Every path i've tried and it stubbornly refuses to get off the dock! I know dockutil can do it probably and i'll resort to that if i have to, i just don't want to have to worry about updating it in the future and adding another policy, package, and script to manage.

larry_barrett
Valued Contributor

@eduffield I have the same thing happen. Its not every device, but its a high number. 70% maybe?

/System/Applications/FaceTime.app for Catalina

You could try /System/Applications/FaceTime.app/Contents/MacOS/FaceTime* , but I wouldn't hold your breath.

thefishyfew
New Contributor II

Has anyone tried adding relative folders like the User's Documents or Downloads?